<!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 newly emitted block from `Emitter`."><title>BlockEvent in bdk_bitcoind_rpc - 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_bitcoind_rpc" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_bitcoind_rpc/index.html">bdk_bitcoind_rpc</a><span class="version">0.12.0</span></h2></div><h2 class="location"><a href="#">BlockEvent</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.block">block</a></li><li><a href="#structfield.checkpoint">checkpoint</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.block_hash">block_hash</a></li><li><a href="#method.block_height">block_height</a></li><li><a href="#method.connected_to">connected_to</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-BlockEvent%3CB%3E">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BlockEvent%3CB%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BlockEvent%3CB%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BlockEvent%3CB%3E">Send</a></li><li><a href="#impl-Sync-for-BlockEvent%3CB%3E">Sync</a></li><li><a href="#impl-Unpin-for-BlockEvent%3CB%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BlockEvent%3CB%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_bitcoind_rpc</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>Struct <a href="index.html">bdk_bitcoind_rpc</a>::<wbr><a class="struct" href="#">BlockEvent</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_bitcoind_rpc/lib.rs.html#146-159">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct BlockEvent<B> {
pub block: B,
- pub checkpoint: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,
+ pub checkpoint: CheckPoint,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A newly emitted block from <a href="struct.Emitter.html" title="struct bdk_bitcoind_rpc::Emitter"><code>Emitter</code></a>.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.block" class="structfield section-header"><a href="#structfield.block" class="anchor field">§</a><code>block: B</code></span><div class="docblock"><p>Either a full [<code>Block</code>] or [<code>Header</code>] of the new block.</p>
-</div><span id="structfield.checkpoint" class="structfield section-header"><a href="#structfield.checkpoint" class="anchor field">§</a><code>checkpoint: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a></code></span><div class="docblock"><p>The checkpoint of the new block.</p>
-<p>A <a href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint"><code>CheckPoint</code></a> is a node of a linked list of <a href="../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId"><code>BlockId</code></a>s. This checkpoint is linked to
-all <a href="../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId"><code>BlockId</code></a>s originally passed in <a href="struct.Emitter.html#method.new" title="associated function bdk_bitcoind_rpc::Emitter::new"><code>Emitter::new</code></a> as well as emitted blocks since then.
+</div><span id="structfield.checkpoint" class="structfield section-header"><a href="#structfield.checkpoint" class="anchor field">§</a><code>checkpoint: CheckPoint</code></span><div class="docblock"><p>The checkpoint of the new block.</p>
+<p>A [<code>CheckPoint</code>] is a node of a linked list of [<code>BlockId</code>]s. This checkpoint is linked to
+all [<code>BlockId</code>]s originally passed in <a href="struct.Emitter.html#method.new" title="associated function bdk_bitcoind_rpc::Emitter::new"><code>Emitter::new</code></a> as well as emitted blocks since then.
These blocks are guaranteed to be of the same chain.</p>
<p>This is important as BDK structures require block-to-apply to be connected with another
block in the original chain.</p>
</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-BlockEvent%3CB%3E" class="impl"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#161-185">source</a><a href="#impl-BlockEvent%3CB%3E" class="anchor">§</a><h3 class="code-header">impl<B> <a class="struct" href="struct.BlockEvent.html" title="struct bdk_bitcoind_rpc::BlockEvent">BlockEvent</a><B></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.block_height" class="method"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#163-165">source</a><h4 class="code-header">pub fn <a href="#method.block_height" class="fn">block_height</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></h4></section></summary><div class="docblock"><p>The block height of this new block.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.block_hash" class="method"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#168-170">source</a><h4 class="code-header">pub fn <a href="#method.block_hash" class="fn">block_hash</a>(&self) -> BlockHash</h4></section></summary><div class="docblock"><p>The block hash of this new block.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.connected_to" class="method"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#178-184">source</a><h4 class="code-header">pub fn <a href="#method.connected_to" class="fn">connected_to</a>(&self) -> <a class="struct" href="../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId">BlockId</a></h4></section></summary><div class="docblock"><p>The <a href="../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId"><code>BlockId</code></a> of a previous block that this block connects to.</p>
-<p>This either returns a <a href="../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId"><code>BlockId</code></a> of a previously emitted block or from the chain we started
+</div></details><details class="toggle method-toggle" open><summary><section id="method.connected_to" class="method"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#178-184">source</a><h4 class="code-header">pub fn <a href="#method.connected_to" class="fn">connected_to</a>(&self) -> BlockId</h4></section></summary><div class="docblock"><p>The [<code>BlockId</code>] of a previous block that this block connects to.</p>
+<p>This either returns a [<code>BlockId</code>] of a previously emitted block or from the chain we started
with (passed in as <code>last_cp</code> in <a href="struct.Emitter.html#method.new" title="associated function bdk_bitcoind_rpc::Emitter::new"><code>Emitter::new</code></a>).</p>
<p>This value is derived from <a href="struct.BlockEvent.html#structfield.checkpoint" title="field bdk_bitcoind_rpc::BlockEvent::checkpoint"><code>BlockEvent::checkpoint</code></a>.</p>
</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-Debug-for-BlockEvent%3CB%3E" class="impl"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#145">source</a><a href="#impl-Debug-for-BlockEvent%3CB%3E" class="anchor">§</a><h3 class="code-header">impl<B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.BlockEvent.html" title="struct bdk_bitcoind_rpc::BlockEvent">BlockEvent</a><B></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#145">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-BlockEvent%3CB%3E" class="impl"><a href="#impl-Freeze-for-BlockEvent%3CB%3E" class="anchor">§</a><h3 class="code-header">impl<B> <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="struct" href="struct.BlockEvent.html" title="struct bdk_bitcoind_rpc::BlockEvent">BlockEvent</a><B><div class="where">where
<!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="The `Emitter` is used to emit data sourced from `bitcoincore_rpc::Client`."><title>Emitter in bdk_bitcoind_rpc - 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_bitcoind_rpc" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_bitcoind_rpc/index.html">bdk_bitcoind_rpc</a><span class="version">0.12.0</span></h2></div><h2 class="location"><a href="#">Emitter</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.mempool">mempool</a></li><li><a href="#method.new">new</a></li><li><a href="#method.next_block">next_block</a></li><li><a href="#method.next_header">next_header</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Emitter%3C'c,+C%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Emitter%3C'c,+C%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Emitter%3C'c,+C%3E">Send</a></li><li><a href="#impl-Sync-for-Emitter%3C'c,+C%3E">Sync</a></li><li><a href="#impl-Unpin-for-Emitter%3C'c,+C%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Emitter%3C'c,+C%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_bitcoind_rpc</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>Struct <a href="index.html">bdk_bitcoind_rpc</a>::<wbr><a class="struct" href="#">Emitter</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_bitcoind_rpc/lib.rs.html#22-43">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Emitter<'c, C> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <a href="struct.Emitter.html" title="struct bdk_bitcoind_rpc::Emitter"><code>Emitter</code></a> is used to emit data sourced from [<code>bitcoincore_rpc::Client</code>].</p>
<p>Refer to <a href="index.html" title="mod bdk_bitcoind_rpc">module-level documentation</a> for more.</p>
-</div></details><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-Emitter%3C'c,+C%3E" class="impl"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#45-142">source</a><a href="#impl-Emitter%3C'c,+C%3E" class="anchor">§</a><h3 class="code-header">impl<'c, C: RpcApi> <a class="struct" href="struct.Emitter.html" title="struct bdk_bitcoind_rpc::Emitter">Emitter</a><'c, C></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#53-62">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(client: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'c C</a>, last_cp: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>, start_height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.Emitter.html" title="struct bdk_bitcoind_rpc::Emitter"><code>Emitter</code></a>.</p>
+</div></details><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-Emitter%3C'c,+C%3E" class="impl"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#45-142">source</a><a href="#impl-Emitter%3C'c,+C%3E" class="anchor">§</a><h3 class="code-header">impl<'c, C: RpcApi> <a class="struct" href="struct.Emitter.html" title="struct bdk_bitcoind_rpc::Emitter">Emitter</a><'c, C></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/bdk_bitcoind_rpc/lib.rs.html#53-62">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(client: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'c C</a>, last_cp: CheckPoint, start_height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.Emitter.html" title="struct bdk_bitcoind_rpc::Emitter"><code>Emitter</code></a>.</p>
<p><code>last_cp</code> informs the emitter of the chain we are starting off with. This way, the emitter
can start emission from a block that connects to the original chain.</p>
<p><code>start_height</code> starts emission from a given height (if there are no conflicts with the
-<!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="List of all items in this crate"><title>List of all items in this crate</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="../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 mod sys"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Aliases</a></li></ul></section></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.BlockId.html">BlockId</a></li><li><a href="struct.CombinedChangeSet.html">CombinedChangeSet</a></li><li><a href="struct.ConfirmationHeightAnchor.html">ConfirmationHeightAnchor</a></li><li><a href="struct.ConfirmationTimeHeightAnchor.html">ConfirmationTimeHeightAnchor</a></li><li><a href="struct.DescriptorId.html">DescriptorId</a></li><li><a href="struct.FullTxOut.html">FullTxOut</a></li><li><a href="struct.SpkIterator.html">SpkIterator</a></li><li><a href="struct.SpkTxOutIndex.html">SpkTxOutIndex</a></li><li><a href="indexed_tx_graph/struct.ChangeSet.html">indexed_tx_graph::ChangeSet</a></li><li><a href="indexed_tx_graph/struct.IndexedTxGraph.html">indexed_tx_graph::IndexedTxGraph</a></li><li><a href="keychain/struct.Balance.html">keychain::Balance</a></li><li><a href="keychain/struct.ChangeSet.html">keychain::ChangeSet</a></li><li><a href="keychain/struct.KeychainTxOutIndex.html">keychain::KeychainTxOutIndex</a></li><li><a href="keychain/struct.NoSuchKeychain.html">keychain::NoSuchKeychain</a></li><li><a href="local_chain/struct.AlterCheckPointError.html">local_chain::AlterCheckPointError</a></li><li><a href="local_chain/struct.CannotConnectError.html">local_chain::CannotConnectError</a></li><li><a href="local_chain/struct.CheckPoint.html">local_chain::CheckPoint</a></li><li><a href="local_chain/struct.CheckPointIter.html">local_chain::CheckPointIter</a></li><li><a href="local_chain/struct.LocalChain.html">local_chain::LocalChain</a></li><li><a href="local_chain/struct.MissingGenesisError.html">local_chain::MissingGenesisError</a></li><li><a href="spk_client/struct.FullScanRequest.html">spk_client::FullScanRequest</a></li><li><a href="spk_client/struct.FullScanResult.html">spk_client::FullScanResult</a></li><li><a href="spk_client/struct.SyncRequest.html">spk_client::SyncRequest</a></li><li><a href="spk_client/struct.SyncResult.html">spk_client::SyncResult</a></li><li><a href="tx_graph/struct.CanonicalTx.html">tx_graph::CanonicalTx</a></li><li><a href="tx_graph/struct.ChangeSet.html">tx_graph::ChangeSet</a></li><li><a href="tx_graph/struct.TxAncestors.html">tx_graph::TxAncestors</a></li><li><a href="tx_graph/struct.TxDescendants.html">tx_graph::TxDescendants</a></li><li><a href="tx_graph/struct.TxGraph.html">tx_graph::TxGraph</a></li><li><a href="tx_graph/struct.TxNode.html">tx_graph::TxNode</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.ChainPosition.html">ChainPosition</a></li><li><a href="enum.ConfirmationTime.html">ConfirmationTime</a></li><li><a href="keychain/enum.InsertDescriptorError.html">keychain::InsertDescriptorError</a></li><li><a href="local_chain/enum.ApplyHeaderError.html">local_chain::ApplyHeaderError</a></li><li><a href="tx_graph/enum.CalculateFeeError.html">tx_graph::CalculateFeeError</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="trait.Anchor.html">Anchor</a></li><li><a href="trait.AnchorFromBlockPosition.html">AnchorFromBlockPosition</a></li><li><a href="trait.Append.html">Append</a></li><li><a href="trait.ChainOracle.html">ChainOracle</a></li><li><a href="trait.DescriptorExt.html">DescriptorExt</a></li><li><a href="indexed_tx_graph/trait.Indexer.html">indexed_tx_graph::Indexer</a></li></ul><h3 id="types">Type Aliases</h3><ul class="all-items"><li><a href="keychain/type.Indexed.html">keychain::Indexed</a></li><li><a href="keychain/type.KeychainIndexed.html">keychain::KeychainIndexed</a></li><li><a href="local_chain/type.ChangeSet.html">local_chain::ChangeSet</a></li></ul><h3 id="constants">Constants</h3><ul class="all-items"><li><a href="constant.BIP32_MAX_INDEX.html">BIP32_MAX_INDEX</a></li><li><a href="constant.COINBASE_MATURITY.html">COINBASE_MATURITY</a></li><li><a href="keychain/constant.DEFAULT_LOOKAHEAD.html">keychain::DEFAULT_LOOKAHEAD</a></li></ul></section></div></main></body></html>
\ No newline at end of file
+<!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="List of all items in this crate"><title>List of all items in this crate</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="../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 mod sys"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Aliases</a></li></ul></section></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Balance.html">Balance</a></li><li><a href="struct.BlockId.html">BlockId</a></li><li><a href="struct.CombinedChangeSet.html">CombinedChangeSet</a></li><li><a href="struct.ConfirmationHeightAnchor.html">ConfirmationHeightAnchor</a></li><li><a href="struct.ConfirmationTimeHeightAnchor.html">ConfirmationTimeHeightAnchor</a></li><li><a href="struct.DescriptorId.html">DescriptorId</a></li><li><a href="struct.FullTxOut.html">FullTxOut</a></li><li><a href="struct.SpkIterator.html">SpkIterator</a></li><li><a href="indexed_tx_graph/struct.ChangeSet.html">indexed_tx_graph::ChangeSet</a></li><li><a href="indexed_tx_graph/struct.IndexedTxGraph.html">indexed_tx_graph::IndexedTxGraph</a></li><li><a href="indexer/keychain_txout/struct.ChangeSet.html">indexer::keychain_txout::ChangeSet</a></li><li><a href="indexer/keychain_txout/struct.KeychainTxOutIndex.html">indexer::keychain_txout::KeychainTxOutIndex</a></li><li><a href="indexer/keychain_txout/struct.NoSuchKeychain.html">indexer::keychain_txout::NoSuchKeychain</a></li><li><a href="indexer/spk_txout/struct.SpkTxOutIndex.html">indexer::spk_txout::SpkTxOutIndex</a></li><li><a href="local_chain/struct.AlterCheckPointError.html">local_chain::AlterCheckPointError</a></li><li><a href="local_chain/struct.CannotConnectError.html">local_chain::CannotConnectError</a></li><li><a href="local_chain/struct.CheckPoint.html">local_chain::CheckPoint</a></li><li><a href="local_chain/struct.CheckPointIter.html">local_chain::CheckPointIter</a></li><li><a href="local_chain/struct.LocalChain.html">local_chain::LocalChain</a></li><li><a href="local_chain/struct.MissingGenesisError.html">local_chain::MissingGenesisError</a></li><li><a href="spk_client/struct.FullScanRequest.html">spk_client::FullScanRequest</a></li><li><a href="spk_client/struct.FullScanResult.html">spk_client::FullScanResult</a></li><li><a href="spk_client/struct.SyncRequest.html">spk_client::SyncRequest</a></li><li><a href="spk_client/struct.SyncResult.html">spk_client::SyncResult</a></li><li><a href="tx_graph/struct.CanonicalTx.html">tx_graph::CanonicalTx</a></li><li><a href="tx_graph/struct.ChangeSet.html">tx_graph::ChangeSet</a></li><li><a href="tx_graph/struct.TxAncestors.html">tx_graph::TxAncestors</a></li><li><a href="tx_graph/struct.TxDescendants.html">tx_graph::TxDescendants</a></li><li><a href="tx_graph/struct.TxGraph.html">tx_graph::TxGraph</a></li><li><a href="tx_graph/struct.TxNode.html">tx_graph::TxNode</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.ChainPosition.html">ChainPosition</a></li><li><a href="enum.ConfirmationTime.html">ConfirmationTime</a></li><li><a href="indexer/keychain_txout/enum.InsertDescriptorError.html">indexer::keychain_txout::InsertDescriptorError</a></li><li><a href="local_chain/enum.ApplyHeaderError.html">local_chain::ApplyHeaderError</a></li><li><a href="tx_graph/enum.CalculateFeeError.html">tx_graph::CalculateFeeError</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="trait.Anchor.html">Anchor</a></li><li><a href="trait.AnchorFromBlockPosition.html">AnchorFromBlockPosition</a></li><li><a href="trait.Append.html">Append</a></li><li><a href="trait.ChainOracle.html">ChainOracle</a></li><li><a href="trait.DescriptorExt.html">DescriptorExt</a></li><li><a href="indexer/trait.Indexer.html">indexer::Indexer</a></li></ul><h3 id="types">Type Aliases</h3><ul class="all-items"><li><a href="type.Indexed.html">Indexed</a></li><li><a href="type.KeychainIndexed.html">KeychainIndexed</a></li><li><a href="local_chain/type.ChangeSet.html">local_chain::ChangeSet</a></li></ul><h3 id="constants">Constants</h3><ul class="all-items"><li><a href="constant.BIP32_MAX_INDEX.html">BIP32_MAX_INDEX</a></li><li><a href="constant.COINBASE_MATURITY.html">COINBASE_MATURITY</a></li><li><a href="indexer/keychain_txout/constant.DEFAULT_LOOKAHEAD.html">indexer::keychain_txout::DEFAULT_LOOKAHEAD</a></li></ul></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../bdk_chain/struct.Balance.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../bdk_chain/struct.Balance.html">../../bdk_chain/struct.Balance.html</a>...</p>
+ <script>location.replace("../../bdk_chain/struct.Balance.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
-<!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="How many confirmations are needed f or a coinbase output to be spent."><title>COINBASE_MATURITY in bdk_chain - 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">bdk_chain</a>::<wbr><a class="constant" href="#">COINBASE_MATURITY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/lib.rs.html#100">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub const COINBASE_MATURITY: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a> = 100;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>How many confirmations are needed f or a coinbase output to be spent.</p>
+<!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="How many confirmations are needed f or a coinbase output to be spent."><title>COINBASE_MATURITY in bdk_chain - 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">bdk_chain</a>::<wbr><a class="constant" href="#">COINBASE_MATURITY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/lib.rs.html#101">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub const COINBASE_MATURITY: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a> = 100;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>How many confirmations are needed f or a coinbase output to be spent.</p>
</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="This crate is a collection of core structures for Bitcoin Dev Kit."><title>bdk_chain - 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="../crates.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 mod crate"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li></ul></section></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>Crate <a class="mod" href="#">bdk_chain</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/lib.rs.html#1-100">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This crate is a collection of core structures for <a href="https://bitcoindevkit.org/">Bitcoin Dev Kit</a>.</p>
+<!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="This crate is a collection of core structures for Bitcoin Dev Kit."><title>bdk_chain - 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="../crates.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 mod crate"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Aliases</a></li></ul></section></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>Crate <a class="mod" href="#">bdk_chain</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/lib.rs.html#1-106">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This crate is a collection of core structures for <a href="https://bitcoindevkit.org/">Bitcoin Dev Kit</a>.</p>
<p>The goal of this crate is to give wallets the mechanisms needed to:</p>
<ol>
<li>Figure out what data they need to fetch.</li>
<li>Data persistence agnostic – <code>bdk_chain</code> does not care where you cache on-chain data, what you
cache or how you retrieve it from persistent storage.</li>
</ol>
-</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><code>pub extern crate <a class="mod" href="https://docs.rs/serde/1.0.203/serde/index.html" title="mod serde">serde_crate</a> as serde;</code></div></li><li><div class="item-name" id="reexport.IndexedTxGraph"><code>pub use indexed_tx_graph::<a class="struct" href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a>;</code></div></li><li><div class="item-name" id="reexport.Indexed"><code>pub use keychain::<a class="type" href="keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a>;</code></div></li><li><div class="item-name" id="reexport.KeychainIndexed"><code>pub use keychain::<a class="type" href="keychain/type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a>;</code></div></li><li><div class="item-name" id="reexport.TxGraph"><code>pub use tx_graph::<a class="struct" href="tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a>;</code></div></li><li><div class="item-name" id="reexport.bitcoin"><code>pub use bitcoin;</code></div></li><li><div class="item-name" id="reexport.miniscript"><code>pub use miniscript;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="indexed_tx_graph/index.html" title="mod bdk_chain::indexed_tx_graph">indexed_tx_graph</a></div><div class="desc docblock-short">Contains the <a href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> and associated types. Refer to the
-<a href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> documentation for more.</div></li><li><div class="item-name"><a class="mod" href="keychain/index.html" title="mod bdk_chain::keychain">keychain</a></div><div class="desc docblock-short">Module for keychain related structures.</div></li><li><div class="item-name"><a class="mod" href="local_chain/index.html" title="mod bdk_chain::local_chain">local_chain</a></div><div class="desc docblock-short">The <a href="local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>LocalChain</code></a> is a local implementation of <a href="trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a>.</div></li><li><div class="item-name"><a class="mod" href="spk_client/index.html" title="mod bdk_chain::spk_client">spk_client</a></div><div class="desc docblock-short">Helper types for spk-based blockchain clients.</div></li><li><div class="item-name"><a class="mod" href="tx_graph/index.html" title="mod bdk_chain::tx_graph">tx_graph</a></div><div class="desc docblock-short">Module for structures that store and traverse transactions.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a></div><div class="desc docblock-short">A reference to a block in the canonical chain.</div></li><li><div class="item-name"><a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a></div><div class="desc docblock-short">A changeset containing <a href="index.html" title="mod bdk_chain"><code>crate</code></a> structures typically persisted together.</div></li><li><div class="item-name"><a class="struct" href="struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::ConfirmationHeightAnchor">ConfirmationHeightAnchor</a></div><div class="desc docblock-short">An <a href="trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> implementation that also records the exact confirmation height of the transaction.</div></li><li><div class="item-name"><a class="struct" href="struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a></div><div class="desc docblock-short">An <a href="trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> implementation that also records the exact confirmation time and height of the
-transaction.</div></li><li><div class="item-name"><a class="struct" href="struct.DescriptorId.html" title="struct bdk_chain::DescriptorId">DescriptorId</a></div><div class="desc docblock-short">Represents the unique ID of a descriptor.</div></li><li><div class="item-name"><a class="struct" href="struct.FullTxOut.html" title="struct bdk_chain::FullTxOut">FullTxOut</a></div><div class="desc docblock-short">A <code>TxOut</code> with as much data as we can retrieve about it</div></li><li><div class="item-name"><a class="struct" href="struct.SpkIterator.html" title="struct bdk_chain::SpkIterator">SpkIterator</a></div><div class="desc docblock-short">An iterator for derived script pubkeys.</div></li><li><div class="item-name"><a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a></div><div class="desc docblock-short">An index storing <a href="bitcoin::TxOut"><code>TxOut</code></a>s that have a script pubkey that matches those in a list.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.ChainPosition.html" title="enum bdk_chain::ChainPosition">ChainPosition</a></div><div class="desc docblock-short">Represents the observed position of some chain data.</div></li><li><div class="item-name"><a class="enum" href="enum.ConfirmationTime.html" title="enum bdk_chain::ConfirmationTime">ConfirmationTime</a></div><div class="desc docblock-short">Block height and timestamp at which a transaction is confirmed.</div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.BIP32_MAX_INDEX.html" title="constant bdk_chain::BIP32_MAX_INDEX">BIP32_MAX_INDEX</a></div><div class="desc docblock-short">Maximum <a href="https://bips.xyz/32">BIP32</a> derivation index.</div></li><li><div class="item-name"><a class="constant" href="constant.COINBASE_MATURITY.html" title="constant bdk_chain::COINBASE_MATURITY">COINBASE_MATURITY</a></div><div class="desc docblock-short">How many confirmations are needed f or a coinbase output to be spent.</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a></div><div class="desc docblock-short">Trait that “anchors” blockchain data to a specific block of height and hash.</div></li><li><div class="item-name"><a class="trait" href="trait.AnchorFromBlockPosition.html" title="trait bdk_chain::AnchorFromBlockPosition">AnchorFromBlockPosition</a></div><div class="desc docblock-short">An <a href="trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> that can be constructed from a given block, block height and transaction position
-within the block.</div></li><li><div class="item-name"><a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a></div><div class="desc docblock-short">Trait that makes an object appendable.</div></li><li><div class="item-name"><a class="trait" href="trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a></div><div class="desc docblock-short">Represents a service that tracks the blockchain.</div></li><li><div class="item-name"><a class="trait" href="trait.DescriptorExt.html" title="trait bdk_chain::DescriptorExt">DescriptorExt</a></div><div class="desc docblock-short">A trait to extend the functionality of a miniscript descriptor.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
+</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><code>pub extern crate <a class="mod" href="https://docs.rs/serde/1.0.203/serde/index.html" title="mod serde">serde_crate</a> as serde;</code></div></li><li><div class="item-name" id="reexport.IndexedTxGraph"><code>pub use indexed_tx_graph::<a class="struct" href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a>;</code></div></li><li><div class="item-name" id="reexport.Indexer"><code>pub use indexer::<a class="trait" href="indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a>;</code></div></li><li><div class="item-name" id="reexport.TxGraph"><code>pub use tx_graph::<a class="struct" href="tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a>;</code></div></li><li><div class="item-name" id="reexport.bitcoin"><code>pub use bitcoin;</code></div></li><li><div class="item-name" id="reexport.miniscript"><code>pub use miniscript;</code></div></li><li><div class="item-name"><code>pub use indexer::<a class="mod" href="indexer/spk_txout/index.html" title="mod bdk_chain::indexer::spk_txout">spk_txout</a>::*;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="indexed_tx_graph/index.html" title="mod bdk_chain::indexed_tx_graph">indexed_tx_graph</a></div><div class="desc docblock-short">Contains the <a href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> and associated types. Refer to the
+<a href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> documentation for more.</div></li><li><div class="item-name"><a class="mod" href="indexer/index.html" title="mod bdk_chain::indexer">indexer</a></div><div class="desc docblock-short"><a href="indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a> provides utilities for indexing transaction data.</div></li><li><div class="item-name"><a class="mod" href="local_chain/index.html" title="mod bdk_chain::local_chain">local_chain</a></div><div class="desc docblock-short">The <a href="local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>LocalChain</code></a> is a local implementation of <a href="trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a>.</div></li><li><div class="item-name"><a class="mod" href="spk_client/index.html" title="mod bdk_chain::spk_client">spk_client</a></div><div class="desc docblock-short">Helper types for spk-based blockchain clients.</div></li><li><div class="item-name"><a class="mod" href="tx_graph/index.html" title="mod bdk_chain::tx_graph">tx_graph</a></div><div class="desc docblock-short">Module for structures that store and traverse transactions.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></div><div class="desc docblock-short">Balance, differentiated into various categories.</div></li><li><div class="item-name"><a class="struct" href="struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a></div><div class="desc docblock-short">A reference to a block in the canonical chain.</div></li><li><div class="item-name"><a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a></div><div class="desc docblock-short">A changeset containing <a href="index.html" title="mod bdk_chain"><code>crate</code></a> structures typically persisted together.</div></li><li><div class="item-name"><a class="struct" href="struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::ConfirmationHeightAnchor">ConfirmationHeightAnchor</a></div><div class="desc docblock-short">An <a href="trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> implementation that also records the exact confirmation height of the transaction.</div></li><li><div class="item-name"><a class="struct" href="struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a></div><div class="desc docblock-short">An <a href="trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> implementation that also records the exact confirmation time and height of the
+transaction.</div></li><li><div class="item-name"><a class="struct" href="struct.DescriptorId.html" title="struct bdk_chain::DescriptorId">DescriptorId</a></div><div class="desc docblock-short">Represents the unique ID of a descriptor.</div></li><li><div class="item-name"><a class="struct" href="struct.FullTxOut.html" title="struct bdk_chain::FullTxOut">FullTxOut</a></div><div class="desc docblock-short">A <code>TxOut</code> with as much data as we can retrieve about it</div></li><li><div class="item-name"><a class="struct" href="struct.SpkIterator.html" title="struct bdk_chain::SpkIterator">SpkIterator</a></div><div class="desc docblock-short">An iterator for derived script pubkeys.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.ChainPosition.html" title="enum bdk_chain::ChainPosition">ChainPosition</a></div><div class="desc docblock-short">Represents the observed position of some chain data.</div></li><li><div class="item-name"><a class="enum" href="enum.ConfirmationTime.html" title="enum bdk_chain::ConfirmationTime">ConfirmationTime</a></div><div class="desc docblock-short">Block height and timestamp at which a transaction is confirmed.</div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.BIP32_MAX_INDEX.html" title="constant bdk_chain::BIP32_MAX_INDEX">BIP32_MAX_INDEX</a></div><div class="desc docblock-short">Maximum <a href="https://bips.xyz/32">BIP32</a> derivation index.</div></li><li><div class="item-name"><a class="constant" href="constant.COINBASE_MATURITY.html" title="constant bdk_chain::COINBASE_MATURITY">COINBASE_MATURITY</a></div><div class="desc docblock-short">How many confirmations are needed f or a coinbase output to be spent.</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a></div><div class="desc docblock-short">Trait that “anchors” blockchain data to a specific block of height and hash.</div></li><li><div class="item-name"><a class="trait" href="trait.AnchorFromBlockPosition.html" title="trait bdk_chain::AnchorFromBlockPosition">AnchorFromBlockPosition</a></div><div class="desc docblock-short">An <a href="trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> that can be constructed from a given block, block height and transaction position
+within the block.</div></li><li><div class="item-name"><a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a></div><div class="desc docblock-short">Trait that makes an object appendable.</div></li><li><div class="item-name"><a class="trait" href="trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a></div><div class="desc docblock-short">Represents a service that tracks the blockchain.</div></li><li><div class="item-name"><a class="trait" href="trait.DescriptorExt.html" title="trait bdk_chain::DescriptorExt">DescriptorExt</a></div><div class="desc docblock-short">A trait to extend the functionality of a miniscript descriptor.</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a></div><div class="desc docblock-short">A tuple of keychain index and <code>T</code> representing the indexed value.</div></li><li><div class="item-name"><a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a></div><div class="desc docblock-short">A tuple of keychain <code>K</code>, derivation index (<code>u32</code>) and a <code>T</code> associated with them.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
-<!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="Contains the `IndexedTxGraph` and associated types. Refer to the `IndexedTxGraph` documentation for more."><title>bdk_chain::indexed_tx_graph - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module indexed_tx_graph</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">indexed_tx_graph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/indexed_tx_graph.rs.html#1-360">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Contains the <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> and associated types. Refer to the
+<!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="Contains the `IndexedTxGraph` and associated types. Refer to the `IndexedTxGraph` documentation for more."><title>bdk_chain::indexed_tx_graph - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module indexed_tx_graph</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">indexed_tx_graph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/indexed_tx_graph.rs.html#1-338">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Contains the <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> and associated types. Refer to the
<a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> documentation for more.</p>
-</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a></div><div class="desc docblock-short">Represents changes to an <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a></div><div class="desc docblock-short">The <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> combines a <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> and an <a href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a> implementation.</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a></div><div class="desc docblock-short">Utilities for indexing transaction data.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
+</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a></div><div class="desc docblock-short">Represents changes to an <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a></div><div class="desc docblock-short">The <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> combines a <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> and an <a href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a> implementation.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
-window.SIDEBAR_ITEMS = {"struct":["ChangeSet","IndexedTxGraph"],"trait":["Indexer"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"struct":["ChangeSet","IndexedTxGraph"]};
\ No newline at end of file
pub indexer: IA,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Represents changes to an <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.graph" class="structfield section-header"><a href="#structfield.graph" class="anchor field">§</a><code>graph: <a class="struct" href="../tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></code></span><div class="docblock"><p><a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> changeset.</p>
-</div><span id="structfield.indexer" class="structfield section-header"><a href="#structfield.indexer" class="anchor field">§</a><code>indexer: IA</code></span><div class="docblock"><p><a href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a> changeset.</p>
+</div><span id="structfield.indexer" class="structfield section-header"><a href="#structfield.indexer" class="anchor field">§</a><code>indexer: IA</code></span><div class="docblock"><p><a href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a> changeset.</p>
</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-Append-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#302-311">source</a><a href="#impl-Append-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, IA: <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a>> <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#303-306">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#308-310">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><a href="#impl-Clone-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><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>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><a href="#impl-Debug-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#293-300">source</a><a href="#impl-Default-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#294-299">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#276">source</a><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<'de, A, IA> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,
IA: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#276">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
- __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#313-320">source</a><a href="#impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#314-319">source</a><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>(graph: <a class="struct" href="../tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>) -> Self</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%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/changeset.rs.html#65-76">source</a><a href="#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>>> for <a class="struct" href="../struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/changeset.rs.html#68-75">source</a><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>(indexed_tx_graph: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>>) -> Self</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%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#323-330">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="anchor">§</a><h3 class="code-header">impl<A, K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#324-329">source</a><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>(indexer: <a class="struct" href="../keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>) -> Self</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-PartialEq-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><a href="#impl-PartialEq-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><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>(&self, other: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA>) -> <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
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#313-320">source</a><a href="#impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#314-319">source</a><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>(graph: <a class="struct" href="../tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>) -> Self</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%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/changeset.rs.html#66-80">source</a><a href="#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>>> for <a class="struct" href="../struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/changeset.rs.html#69-79">source</a><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>(indexed_tx_graph: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>>) -> Self</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%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#323-332">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="anchor">§</a><h3 class="code-header">impl<A, K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#326-331">source</a><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>(indexer: <a class="struct" href="../indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>) -> Self</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-PartialEq-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><a href="#impl-PartialEq-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#273">source</a><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>(&self, other: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#276">source</a><a href="#impl-Serialize-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A, IA> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,
<!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="The `IndexedTxGraph` combines a `TxGraph` and an `Indexer` implementation."><title>IndexedTxGraph in bdk_chain::indexed_tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">IndexedTxGraph</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.index">index</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.apply_block">apply_block</a></li><li><a href="#method.apply_block_relevant">apply_block_relevant</a></li><li><a href="#method.apply_changeset">apply_changeset</a></li><li><a href="#method.apply_update">apply_update</a></li><li><a href="#method.batch_insert_relevant">batch_insert_relevant</a></li><li><a href="#method.batch_insert_relevant_unconfirmed">batch_insert_relevant_unconfirmed</a></li><li><a href="#method.batch_insert_unconfirmed">batch_insert_unconfirmed</a></li><li><a href="#method.graph">graph</a></li><li><a href="#method.initial_changeset">initial_changeset</a></li><li><a href="#method.insert_anchor">insert_anchor</a></li><li><a href="#method.insert_seen_at">insert_seen_at</a></li><li><a href="#method.insert_tx">insert_tx</a></li><li><a href="#method.insert_txout">insert_txout</a></li><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E">AsRef<TxGraph<A>></a></li><li><a href="#impl-Debug-for-IndexedTxGraph%3CA,+I%3E">Debug</a></li><li><a href="#impl-Default-for-IndexedTxGraph%3CA,+I%3E">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-IndexedTxGraph%3CA,+I%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-IndexedTxGraph%3CA,+I%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-IndexedTxGraph%3CA,+I%3E">Send</a></li><li><a href="#impl-Sync-for-IndexedTxGraph%3CA,+I%3E">Sync</a></li><li><a href="#impl-Unpin-for-IndexedTxGraph%3CA,+I%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-IndexedTxGraph%3CA,+I%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::indexed_tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">indexed_tx_graph</a>::<wbr><a class="struct" href="#">IndexedTxGraph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/indexed_tx_graph.rs.html#15-19">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct IndexedTxGraph<A, I> {
pub index: I,
<span class="comment">/* private fields */</span>
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> combines a <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> and an <a href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a> implementation.</p>
-<p>It ensures that <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> and <a href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a> are updated atomically.</p>
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> combines a <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> and an <a href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a> implementation.</p>
+<p>It ensures that <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> and <a href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a> are updated atomically.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: I</code></span><div class="docblock"><p>Transaction index.</p>
</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-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#30-43">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#32-37">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(index: I) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a> with a given <code>index</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.graph" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#40-42">source</a><h4 class="code-header">pub fn <a href="#method.graph" class="fn">graph</a>(&self) -> &<a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class="docblock"><p>Get a reference of the internal transaction graph.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexedTxGraph%3CA,+I%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#45-66">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E-1" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, I: <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a>> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#47-58">source</a><h4 class="code-header">pub fn <a href="#method.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>>)</h4></section></summary><div class="docblock"><p>Applies the <a href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> to the <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#61-65">source</a><h4 class="code-header">pub fn <a href="#method.initial_changeset" class="fn">initial_changeset</a>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Determines the <a href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexedTxGraph%3CA,+I%3E-2" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#68-208">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E-2" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, I: <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a>> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
- I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.apply_update" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#89-93">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(&mut self, update: <a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Apply an <code>update</code> directly.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexedTxGraph%3CA,+I%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#45-66">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E-1" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, I: <a class="trait" href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a>> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#47-58">source</a><h4 class="code-header">pub fn <a href="#method.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>>)</h4></section></summary><div class="docblock"><p>Applies the <a href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> to the <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#61-65">source</a><h4 class="code-header">pub fn <a href="#method.initial_changeset" class="fn">initial_changeset</a>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Determines the <a href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexedTxGraph%3CA,+I%3E-2" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#68-208">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E-2" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, I: <a class="trait" href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a>> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
+ I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.apply_update" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#89-93">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(&mut self, update: <a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Apply an <code>update</code> directly.</p>
<p><code>update</code> is a <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph<A></code></a> and the resultant changes is returned as <a href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#96-100">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(
&mut self,
outpoint: OutPoint,
txout: TxOut
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert a floating <code>txout</code> of given <code>outpoint</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#103-107">source</a><h4 class="code-header">pub fn <a href="#method.insert_tx" class="fn">insert_tx</a>(&mut self, tx: Transaction) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert and index a transaction into the graph.</p>
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert a floating <code>txout</code> of given <code>outpoint</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#103-107">source</a><h4 class="code-header">pub fn <a href="#method.insert_tx" class="fn">insert_tx</a>(&mut self, tx: Transaction) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert and index a transaction into the graph.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_anchor" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#110-112">source</a><h4 class="code-header">pub fn <a href="#method.insert_anchor" class="fn">insert_anchor</a>(
&mut self,
txid: Txid,
anchor: A
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert an <code>anchor</code> for a given transaction.</p>
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert an <code>anchor</code> for a given transaction.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_seen_at" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#118-120">source</a><h4 class="code-header">pub fn <a href="#method.insert_seen_at" class="fn">insert_seen_at</a>(
&mut self,
txid: Txid,
seen_at: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert a unix timestamp of when a transaction is seen in the mempool.</p>
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Insert a unix timestamp of when a transaction is seen in the mempool.</p>
<p>This is used for transaction conflict resolution in <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> where the transaction with
the later last-seen is prioritized.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.batch_insert_relevant" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#126-155">source</a><h4 class="code-header">pub fn <a href="#method.batch_insert_relevant" class="fn">batch_insert_relevant</a><'t>(
&mut self,
txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (&'t Transaction, impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = A>)>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert transactions, filtering out those that are irrelevant.</p>
-<p>Relevancy is determined by the <a href="trait.Indexer.html#tymethod.is_tx_relevant" title="method bdk_chain::indexed_tx_graph::Indexer::is_tx_relevant"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>. Irrelevant
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert transactions, filtering out those that are irrelevant.</p>
+<p>Relevancy is determined by the <a href="../indexer/trait.Indexer.html#tymethod.is_tx_relevant" title="method bdk_chain::indexer::Indexer::is_tx_relevant"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>. Irrelevant
transactions in <code>txs</code> will be ignored. <code>txs</code> do not need to be in topological order.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.batch_insert_relevant_unconfirmed" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#165-189">source</a><h4 class="code-header">pub fn <a href="#method.batch_insert_relevant_unconfirmed" class="fn">batch_insert_relevant_unconfirmed</a><'t>(
&mut self,
unconfirmed_txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (&'t Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert unconfirmed transactions, filtering out those that are irrelevant.</p>
-<p>Relevancy is determined by the internal <a href="trait.Indexer.html#tymethod.is_tx_relevant" title="method bdk_chain::indexed_tx_graph::Indexer::is_tx_relevant"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>.
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert unconfirmed transactions, filtering out those that are irrelevant.</p>
+<p>Relevancy is determined by the internal <a href="../indexer/trait.Indexer.html#tymethod.is_tx_relevant" title="method bdk_chain::indexer::Indexer::is_tx_relevant"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>.
Irrelevant transactions in <code>txs</code> will be ignored.</p>
<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The
<em>last seen</em> communicates when the transaction is last seen in the mempool which is used for
</div></details><details class="toggle method-toggle" open><summary><section id="method.batch_insert_unconfirmed" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#200-207">source</a><h4 class="code-header">pub fn <a href="#method.batch_insert_unconfirmed" class="fn">batch_insert_unconfirmed</a>(
&mut self,
txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert unconfirmed transactions.</p>
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert unconfirmed transactions.</p>
<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The
<em>last seen</em> communicates when the transaction is last seen in the mempool which is used for
conflict-resolution in <a href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> (refer to <a href="../tx_graph/struct.TxGraph.html#method.insert_seen_at" title="method bdk_chain::tx_graph::TxGraph::insert_seen_at"><code>TxGraph::insert_seen_at</code></a> for details).</p>
<p>To filter out irrelevant transactions, use <a href="struct.IndexedTxGraph.html#method.batch_insert_relevant_unconfirmed" title="method bdk_chain::indexed_tx_graph::IndexedTxGraph::batch_insert_relevant_unconfirmed"><code>batch_insert_relevant_unconfirmed</code></a> instead.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexedTxGraph%3CA,+I%3E-3" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#211-270">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E-3" class="anchor">§</a><h3 class="code-header">impl<A, I: <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a>> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
- I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a>,
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexedTxGraph%3CA,+I%3E-3" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#211-270">source</a><a href="#impl-IndexedTxGraph%3CA,+I%3E-3" class="anchor">§</a><h3 class="code-header">impl<A, I: <a class="trait" href="../indexer/trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a>> <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
+ I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a>,
A: <a class="trait" href="../trait.AnchorFromBlockPosition.html" title="trait bdk_chain::AnchorFromBlockPosition">AnchorFromBlockPosition</a> + <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>,</div></h3></section></summary><div class="docblock"><p>Methods are available if the anchor (<code>A</code>) implements <a href="../trait.AnchorFromBlockPosition.html" title="trait bdk_chain::AnchorFromBlockPosition"><code>AnchorFromBlockPosition</code></a>.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.apply_block_relevant" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#224-246">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_relevant" class="fn">apply_block_relevant</a>(
&mut self,
block: &Block,
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>, filtering out those that are
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>, filtering out those that are
irrelevant.</p>
<p>Each inserted transaction’s anchor will be constructed from
<a href="../trait.AnchorFromBlockPosition.html#tymethod.from_block_position" title="associated function bdk_chain::AnchorFromBlockPosition::from_block_position"><code>AnchorFromBlockPosition::from_block_position</code></a>.</p>
-<p>Relevancy is determined by the internal <a href="trait.Indexer.html#tymethod.is_tx_relevant" title="method bdk_chain::indexed_tx_graph::Indexer::is_tx_relevant"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>.
+<p>Relevancy is determined by the internal <a href="../indexer/trait.Indexer.html#tymethod.is_tx_relevant" title="method bdk_chain::indexer::Indexer::is_tx_relevant"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>.
Irrelevant transactions in <code>txs</code> will be ignored.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_block" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#256-269">source</a><h4 class="code-header">pub fn <a href="#method.apply_block" class="fn">apply_block</a>(
&mut self,
block: Block,
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>.</p>
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, I::<a class="associatedtype" href="../indexer/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>.</p>
<p>Each inserted transaction’s anchor will be constructed from
<a href="../trait.AnchorFromBlockPosition.html#tymethod.from_block_position" title="associated function bdk_chain::AnchorFromBlockPosition::from_block_position"><code>AnchorFromBlockPosition::from_block_position</code></a>.</p>
<p>To only insert relevant transactions, use <a href="struct.IndexedTxGraph.html#method.apply_block_relevant" title="method bdk_chain::indexed_tx_graph::IndexedTxGraph::apply_block_relevant"><code>apply_block_relevant</code></a> instead.</p>
-</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-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#356-360">source</a><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>> for <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#357-359">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#14">source</a><a href="#impl-Debug-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#14">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#21-28">source</a><a href="#impl-Default-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#22-27">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details></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-IndexedTxGraph%3CA,+I%3E" class="impl"><a href="#impl-Freeze-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <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="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
+</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-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#334-338">source</a><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>> for <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#335-337">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#14">source</a><a href="#impl-Debug-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#14">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#21-28">source</a><a href="#impl-Default-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#22-27">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details></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-IndexedTxGraph%3CA,+I%3E" class="impl"><a href="#impl-Freeze-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <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="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a href="#impl-RefUnwindSafe-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <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="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
I: <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>,
A: <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>,</div></h3></section><section id="impl-Send-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a href="#impl-Send-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <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="struct" href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I><div class="where">where
+++ /dev/null
-<!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="Utilities for indexing transaction data."><title>Indexer in bdk_chain::indexed_tx_graph - 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 trait"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Indexer</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.ChangeSet">ChangeSet</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.apply_changeset">apply_changeset</a></li><li><a href="#tymethod.index_tx">index_tx</a></li><li><a href="#tymethod.index_txout">index_txout</a></li><li><a href="#tymethod.initial_changeset">initial_changeset</a></li><li><a href="#tymethod.is_tx_relevant">is_tx_relevant</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk_chain::indexed_tx_graph</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>Trait <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">indexed_tx_graph</a>::<wbr><a class="trait" href="#">Indexer</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/indexed_tx_graph.rs.html#336-354">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Indexer {
- type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a>;
-
- // Required methods
- fn <a href="#tymethod.index_txout" class="fn">index_txout</a>(
- &mut self,
- outpoint: OutPoint,
- txout: &TxOut
- ) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>;
-<span class="item-spacer"></span> fn <a href="#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>;
-<span class="item-spacer"></span> fn <a href="#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>);
-<span class="item-spacer"></span> fn <a href="#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>;
-<span class="item-spacer"></span> fn <a href="#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Utilities for indexing transaction data.</p>
-<p>Types which implement this trait can be used to construct an <a href="struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.
-This trait’s methods should rarely be called directly.</p>
-</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.ChangeSet" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#338">source</a><h4 class="code-header">type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a></h4></section></summary><div class="docblock"><p>The resultant “changeset” when new transaction data is indexed.</p>
-</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.index_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#341">source</a><h4 class="code-header">fn <a href="#tymethod.index_txout" class="fn">index_txout</a>(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class="docblock"><p>Scan and index the given <code>outpoint</code> and <code>txout</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.index_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#344">source</a><h4 class="code-header">fn <a href="#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class="docblock"><p>Scans a transaction for relevant outpoints, which are stored and indexed internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#347">source</a><h4 class="code-header">fn <a href="#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>)</h4></section></summary><div class="docblock"><p>Apply changeset to itself.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.initial_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#350">source</a><h4 class="code-header">fn <a href="#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class="docblock"><p>Determines the <a href="struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_tx_relevant" class="method"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#353">source</a><h4 class="code-header">fn <a href="#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determines whether the transaction should be included in the index.</p>
-</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/spk_txout_index.rs.html#55-77">source</a><a href="#impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a> for <a class="struct" href="../struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><section id="associatedtype.ChangeSet-1" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#136-181">source</a><a href="#impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a> for <a class="struct" href="../keychain/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><section id="associatedtype.ChangeSet-2" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="struct" href="../keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h4></section></div></details></div><script src="../../trait.impl/bdk_chain/indexed_tx_graph/trait.Indexer.js" async></script></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="`Indexer` provides utilities for indexing transaction data."><title>bdk_chain::indexer - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module indexer</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#traits">Traits</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">indexer</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/indexer.rs.html#1-33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a> provides utilities for indexing transaction data.</p>
+</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="keychain_txout/index.html" title="mod bdk_chain::indexer::keychain_txout">keychain_txout</a></div><div class="desc docblock-short"><a href="keychain_txout/struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> controls how script pubkeys are revealed for multiple keychains and
+indexes [<code>TxOut</code>]s with them.</div></li><li><div class="item-name"><a class="mod" href="spk_txout/index.html" title="mod bdk_chain::indexer::spk_txout">spk_txout</a></div><div class="desc docblock-short"><a href="spk_txout/struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex"><code>SpkTxOutIndex</code></a> is an index storing [<code>TxOut</code>]s that have a script pubkey that matches those in a list.</div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a></div><div class="desc docblock-short">Utilities for indexing transaction data.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="The default lookahead for a `KeychainTxOutIndex`"><title>DEFAULT_LOOKAHEAD in bdk_chain::indexer::keychain_txout - 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In bdk_chain::indexer::keychain_txout</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>Constant <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a href="index.html">keychain_txout</a>::<wbr><a class="constant" href="#">DEFAULT_LOOKAHEAD</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#20">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub const DEFAULT_LOOKAHEAD: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a> = 25;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The default lookahead for a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a></p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="Error returned from `KeychainTxOutIndex::insert_descriptor`"><title>InsertDescriptorError in bdk_chain::indexer::keychain_txout - 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">InsertDescriptorError</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.DescriptorAlreadyAssigned">DescriptorAlreadyAssigned</a></li><li><a href="#variant.KeychainAlreadyAssigned">KeychainAlreadyAssigned</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-InsertDescriptorError%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-InsertDescriptorError%3CK%3E">Debug</a></li><li><a href="#impl-Display-for-InsertDescriptorError%3CK%3E">Display</a></li><li><a href="#impl-Error-for-InsertDescriptorError%3CK%3E">Error</a></li><li><a href="#impl-PartialEq-for-InsertDescriptorError%3CK%3E">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-InsertDescriptorError%3CK%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-InsertDescriptorError%3CK%3E">!Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-InsertDescriptorError%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-InsertDescriptorError%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-InsertDescriptorError%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-InsertDescriptorError%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-InsertDescriptorError%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::indexer::keychain_txout</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">indexer</a>::<wbr><a href="index.html">keychain_txout</a>::<wbr><a class="enum" href="#">InsertDescriptorError</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#809-824">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub enum InsertDescriptorError<K> {
+ DescriptorAlreadyAssigned {
+ descriptor: Descriptor<DescriptorPublicKey>,
+ existing_assignment: K,
+ },
+ KeychainAlreadyAssigned {
+ keychain: K,
+ existing_assignment: Descriptor<DescriptorPublicKey>,
+ },
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Error returned from <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a></p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.DescriptorAlreadyAssigned" class="variant"><a href="#variant.DescriptorAlreadyAssigned" class="anchor">§</a><h3 class="code-header">DescriptorAlreadyAssigned</h3></section><div class="docblock"><p>The descriptor has already been assigned to a keychain so you can’t assign it to another</p>
+</div><div class="sub-variant" id="variant.DescriptorAlreadyAssigned.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.DescriptorAlreadyAssigned.field.descriptor" class="section-header"><a href="#variant.DescriptorAlreadyAssigned.field.descriptor" class="anchor field">§</a><code>descriptor: Descriptor<DescriptorPublicKey></code></span><div class="docblock"><p>The descriptor you have attempted to reassign</p>
+</div></div><div class="sub-variant-field"><span id="variant.DescriptorAlreadyAssigned.field.existing_assignment" class="section-header"><a href="#variant.DescriptorAlreadyAssigned.field.existing_assignment" class="anchor field">§</a><code>existing_assignment: K</code></span><div class="docblock"><p>The keychain that the descriptor is already assigned to</p>
+</div></div></div><section id="variant.KeychainAlreadyAssigned" class="variant"><a href="#variant.KeychainAlreadyAssigned" class="anchor">§</a><h3 class="code-header">KeychainAlreadyAssigned</h3></section><div class="docblock"><p>The keychain is already assigned to a descriptor so you can’t reassign it</p>
+</div><div class="sub-variant" id="variant.KeychainAlreadyAssigned.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.KeychainAlreadyAssigned.field.keychain" class="section-header"><a href="#variant.KeychainAlreadyAssigned.field.keychain" class="anchor field">§</a><code>keychain: K</code></span><div class="docblock"><p>The keychain that you have attempted to reassign</p>
+</div></div><div class="sub-variant-field"><span id="variant.KeychainAlreadyAssigned.field.existing_assignment" class="section-header"><a href="#variant.KeychainAlreadyAssigned.field.existing_assignment" class="anchor field">§</a><code>existing_assignment: Descriptor<DescriptorPublicKey></code></span><div class="docblock"><p>The descriptor that the keychain is already assigned to</p>
+</div></div></div></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-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><a href="#impl-Clone-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><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>(&self) -> <a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><a href="#impl-Debug-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Display-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#826-849">source</a><a href="#impl-Display-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#827-848">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Error-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#852">source</a><a href="#impl-Error-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> for <a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.source" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#84">source</a></span><a href="#method.source" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source" class="fn">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static)></h4></section></summary><div class='docblock'>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.description" 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/error.rs.html#110">source</a></span><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description" class="fn">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.42.0: use the Display impl or to_string()</span></div></span><div class='docblock'> <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cause" 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/error.rs.html#120">source</a></span><a href="#method.cause" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.cause" class="fn">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a>></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.33.0: replaced by Error::source, which can support downcasting</span></div></span></details><details class="toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#184">source</a><a href="#method.provide" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide" class="fn">provide</a><'a>(&'a self, request: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/error/struct.Request.html" title="struct core::error::Request">Request</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><a href="#impl-PartialEq-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><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>(&self, other: &<a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K>) -> <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
+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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#807">source</a><a href="#impl-StructuralPartialEq-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></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-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Freeze-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> !<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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K></h3></section><section id="impl-RefUnwindSafe-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
+ K: <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>,</div></h3></section><section id="impl-Send-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Send-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Sync-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Unpin-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
+ K: <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>,</div></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<T> <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
+ 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
+ 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
+ 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</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<T> <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
+ 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <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
+ 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>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
+ V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="`KeychainTxOutIndex` controls how script pubkeys are revealed for multiple keychains and indexes `TxOut`s with them."><title>bdk_chain::indexer::keychain_txout - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module keychain_txout</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li></ul></section><h2><a href="../index.html">In bdk_chain::indexer</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>Module <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a class="mod" href="#">keychain_txout</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#1-946">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> controls how script pubkeys are revealed for multiple keychains and
+indexes [<code>TxOut</code>]s with them.</p>
+</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a></div><div class="desc docblock-short">Represents updates to the derivation index of a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.
+It maps each keychain <code>K</code> to a descriptor and its last revealed index.</div></li><li><div class="item-name"><a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a></div><div class="desc docblock-short"><a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> controls how script pubkeys are revealed for multiple keychains, and
+indexes [<code>TxOut</code>]s with them.</div></li><li><div class="item-name"><a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a></div><div class="desc docblock-short">The keychain doesn’t exist. Most likley hasn’t been inserted with <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a>.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a></div><div class="desc docblock-short">Error returned from <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a></div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.DEFAULT_LOOKAHEAD.html" title="constant bdk_chain::indexer::keychain_txout::DEFAULT_LOOKAHEAD">DEFAULT_LOOKAHEAD</a></div><div class="desc docblock-short">The default lookahead for a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+window.SIDEBAR_ITEMS = {"constant":["DEFAULT_LOOKAHEAD"],"enum":["InsertDescriptorError"],"struct":["ChangeSet","KeychainTxOutIndex","NoSuchKeychain"]};
\ No newline at end of file
--- /dev/null
+<!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="Represents updates to the derivation index of a `KeychainTxOutIndex`. It maps each keychain `K` to a descriptor and its last revealed index."><title>ChangeSet in bdk_chain::indexer::keychain_txout - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.keychains_added">keychains_added</a></li><li><a href="#structfield.last_revealed">last_revealed</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Append-for-ChangeSet%3CK%3E">Append</a></li><li><a href="#impl-Clone-for-ChangeSet%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-ChangeSet%3CK%3E">Debug</a></li><li><a href="#impl-Default-for-ChangeSet%3CK%3E">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CK%3E">Deserialize<'de></a></li><li><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E">From<ChangeSet<K>></a></li><li><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<ChangeSet<K>></a></li><li><a href="#impl-PartialEq-for-ChangeSet%3CK%3E">PartialEq</a></li><li><a href="#impl-Serialize-for-ChangeSet%3CK%3E">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-ChangeSet%3CK%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ChangeSet%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ChangeSet%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ChangeSet%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-ChangeSet%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-ChangeSet%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ChangeSet%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::indexer::keychain_txout</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>Struct <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a href="index.html">keychain_txout</a>::<wbr><a class="struct" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#878-883">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ChangeSet<K> {
+ pub keychains_added: <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><K, Descriptor<DescriptorPublicKey>>,
+ pub last_revealed: <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><<a class="struct" href="../../struct.DescriptorId.html" title="struct bdk_chain::DescriptorId">DescriptorId</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Represents updates to the derivation index of a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.
+It maps each keychain <code>K</code> to a descriptor and its last revealed index.</p>
+<p>It can be applied to <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> with <a href="struct.KeychainTxOutIndex.html#method.apply_changeset" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::apply_changeset"><code>apply_changeset</code></a>.</p>
+<p>The <code>last_revealed</code> field is monotone in that <a href="struct.ChangeSet.html#method.append" title="method bdk_chain::indexer::keychain_txout::ChangeSet::append"><code>append</code></a> will never decrease it.
+<code>keychains_added</code> is <em>not</em> monotone, once it is set any attempt to change it is subject to the
+same <em>one-to-one</em> keychain <-> descriptor mapping invariant as <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> itself.</p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.keychains_added" class="structfield section-header"><a href="#structfield.keychains_added" class="anchor field">§</a><code>keychains_added: <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><K, Descriptor<DescriptorPublicKey>></code></span><div class="docblock"><p>Contains the keychains that have been added and their respective descriptor</p>
+</div><span id="structfield.last_revealed" class="structfield section-header"><a href="#structfield.last_revealed" class="anchor field">§</a><code>last_revealed: <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><<a class="struct" href="../../struct.DescriptorId.html" title="struct bdk_chain::DescriptorId">DescriptorId</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><div class="docblock"><p>Contains for each descriptor_id the last revealed index of derivation</p>
+</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-Append-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#885-927">source</a><a href="#impl-Append-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="../../trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#892-921">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="../../trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class="docblock"><p>Merge another <a href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet"><code>ChangeSet<K></code></a> into self.</p>
+<p>For the <code>keychains_added</code> field this method respects the invariants of
+<a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::insert_descriptor"><code>insert_descriptor</code></a>. <code>last_revealed</code> always becomes the larger of the two.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#924-926">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="../../trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the changeset are empty.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../../trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><a href="#impl-Clone-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><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>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><a href="#impl-Debug-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#929-936">source</a><a href="#impl-Default-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#930-935">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#868">source</a><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<'de, K> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#868">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexed_tx_graph.rs.html#323-332">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="anchor">§</a><h3 class="code-header">impl<A, K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="../../indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexed_tx_graph.rs.html#326-331">source</a><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>(indexer: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>) -> Self</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%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/changeset.rs.html#83-93">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="../../struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/changeset.rs.html#84-92">source</a><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>(indexer: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>) -> Self</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-PartialEq-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><a href="#impl-PartialEq-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><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>(&self, other: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>) -> <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
+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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#868">source</a><a href="#impl-Serialize-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#868">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
+ __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#865">source</a><a href="#impl-StructuralPartialEq-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></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-ChangeSet%3CK%3E" class="impl"><a href="#impl-Freeze-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section><section id="impl-RefUnwindSafe-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K><div class="where">where
+ K: <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>,</div></h3></section><section id="impl-Send-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-Send-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-Sync-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-Unpin-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section><section id="impl-UnwindSafe-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K><div class="where">where
+ K: <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>,</div></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<T> <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
+ 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
+ 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
+ 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" 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-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>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</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<T> <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
+ 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
+ V: MultiLane<T>,</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) -> V</h4></section></div></details><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.203/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
+ T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="`KeychainTxOutIndex` controls how script pubkeys are revealed for multiple keychains, and indexes `TxOut`s with them."><title>KeychainTxOutIndex in bdk_chain::indexer::keychain_txout - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">KeychainTxOutIndex</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all_unbounded_spk_iters">all_unbounded_spk_iters</a></li><li><a href="#method.apply_changeset">apply_changeset</a></li><li><a href="#method.get_descriptor">get_descriptor</a></li><li><a href="#method.index_of_spk">index_of_spk</a></li><li><a href="#method.inner">inner</a></li><li><a href="#method.insert_descriptor">insert_descriptor</a></li><li><a href="#method.is_used">is_used</a></li><li><a href="#method.keychain_outpoints">keychain_outpoints</a></li><li><a href="#method.keychain_outpoints_in_range">keychain_outpoints_in_range</a></li><li><a href="#method.keychains">keychains</a></li><li><a href="#method.last_revealed_index">last_revealed_index</a></li><li><a href="#method.last_revealed_indices">last_revealed_indices</a></li><li><a href="#method.last_used_index">last_used_index</a></li><li><a href="#method.last_used_indices">last_used_indices</a></li><li><a href="#method.lookahead">lookahead</a></li><li><a href="#method.lookahead_to_target">lookahead_to_target</a></li><li><a href="#method.mark_used">mark_used</a></li><li><a href="#method.net_value">net_value</a></li><li><a href="#method.new">new</a></li><li><a href="#method.next_index">next_index</a></li><li><a href="#method.next_unused_spk">next_unused_spk</a></li><li><a href="#method.outpoints">outpoints</a></li><li><a href="#method.reveal_next_spk">reveal_next_spk</a></li><li><a href="#method.reveal_to_target">reveal_to_target</a></li><li><a href="#method.reveal_to_target_multi">reveal_to_target_multi</a></li><li><a href="#method.revealed_keychain_spks">revealed_keychain_spks</a></li><li><a href="#method.revealed_spks">revealed_spks</a></li><li><a href="#method.sent_and_received">sent_and_received</a></li><li><a href="#method.spk_at_index">spk_at_index</a></li><li><a href="#method.txout">txout</a></li><li><a href="#method.txouts">txouts</a></li><li><a href="#method.txouts_in_tx">txouts_in_tx</a></li><li><a href="#method.unbounded_spk_iter">unbounded_spk_iter</a></li><li><a href="#method.unmark_used">unmark_used</a></li><li><a href="#method.unused_keychain_spks">unused_keychain_spks</a></li><li><a href="#method.unused_spks">unused_spks</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-KeychainTxOutIndex%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-KeychainTxOutIndex%3CK%3E">Debug</a></li><li><a href="#impl-Default-for-KeychainTxOutIndex%3CK%3E">Default</a></li><li><a href="#impl-Indexer-for-KeychainTxOutIndex%3CK%3E">Indexer</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-KeychainTxOutIndex%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-KeychainTxOutIndex%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-KeychainTxOutIndex%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-KeychainTxOutIndex%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-KeychainTxOutIndex%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-KeychainTxOutIndex%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::indexer::keychain_txout</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>Struct <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a href="index.html">keychain_txout</a>::<wbr><a class="struct" href="#">KeychainTxOutIndex</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#122-129">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct KeychainTxOutIndex<K> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> controls how script pubkeys are revealed for multiple keychains, and
+indexes [<code>TxOut</code>]s with them.</p>
+<p>A single keychain is a chain of script pubkeys derived from a single <a href="crate::miniscript::Descriptor"><code>Descriptor</code></a>. Keychains
+are identified using the <code>K</code> generic. Script pubkeys are identified by the keychain that they
+are derived from <code>K</code>, as well as the derivation index <code>u32</code>.</p>
+<p>There is a strict 1-to-1 relationship between descriptors and keychains. Each keychain has one
+and only one descriptor and each descriptor has one and only one keychain. The
+<a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::insert_descriptor"><code>insert_descriptor</code></a> method will return an error if you try and violate this invariant. This
+rule is a proxy for a stronger rule: no two descriptors should produce the same script pubkey.
+Having two descriptors produce the same script pubkey should cause whichever keychain derives
+the script pubkey first to be the effective owner of it but you should not rely on this
+behaviour. ⚠ It is up you, the developer, not to violate this invariant.</p>
+<h2 id="revealed-script-pubkeys"><a class="doc-anchor" href="#revealed-script-pubkeys">§</a>Revealed script pubkeys</h2>
+<p>Tracking how script pubkeys are revealed is useful for collecting chain data. For example, if
+the user has requested 5 script pubkeys (to receive money with), we only need to use those
+script pubkeys to scan for chain data.</p>
+<p>Call <a href="struct.KeychainTxOutIndex.html#method.reveal_to_target" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::reveal_to_target"><code>reveal_to_target</code></a> or <a href="struct.KeychainTxOutIndex.html#method.reveal_next_spk" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::reveal_next_spk"><code>reveal_next_spk</code></a> to reveal more script pubkeys.
+Call <a href="struct.KeychainTxOutIndex.html#method.revealed_keychain_spks" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::revealed_keychain_spks"><code>revealed_keychain_spks</code></a> or <a href="struct.KeychainTxOutIndex.html#method.revealed_spks" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::revealed_spks"><code>revealed_spks</code></a> to iterate through revealed script pubkeys.</p>
+<h2 id="lookahead-script-pubkeys"><a class="doc-anchor" href="#lookahead-script-pubkeys">§</a>Lookahead script pubkeys</h2>
+<p>When an user first recovers a wallet (i.e. from a recovery phrase and/or descriptor), we will
+NOT have knowledge of which script pubkeys are revealed. So when we index a transaction or
+txout (using <a href="struct.KeychainTxOutIndex.html#method.index_tx" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::index_tx"><code>index_tx</code></a>/<a href="struct.KeychainTxOutIndex.html#method.index_txout" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::index_txout"><code>index_txout</code></a>) we scan the txouts against script pubkeys derived
+above the last revealed index. These additionally-derived script pubkeys are called the
+lookahead.</p>
+<p>The <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> is constructed with the <code>lookahead</code> and cannot be altered. See
+<a href="constant.DEFAULT_LOOKAHEAD.html" title="constant bdk_chain::indexer::keychain_txout::DEFAULT_LOOKAHEAD"><code>DEFAULT_LOOKAHEAD</code></a> for the value used in the <code>Default</code> implementation. Use <a href="struct.KeychainTxOutIndex.html#method.new" title="associated function bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::new"><code>new</code></a> to set a
+custom <code>lookahead</code>.</p>
+<h2 id="unbounded-script-pubkey-iterator"><a class="doc-anchor" href="#unbounded-script-pubkey-iterator">§</a>Unbounded script pubkey iterator</h2>
+<p>For script-pubkey-based chain sources (such as Electrum/Esplora), an initial scan is best done
+by iterating though derived script pubkeys one by one and requesting transaction histories for
+each script pubkey. We will stop after x-number of script pubkeys have empty histories. An
+unbounded script pubkey iterator is useful to pass to such a chain source because it doesn’t
+require holding a reference to the index.</p>
+<p>Call <a href="struct.KeychainTxOutIndex.html#method.unbounded_spk_iter" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::unbounded_spk_iter"><code>unbounded_spk_iter</code></a> to get an unbounded script pubkey iterator for a given keychain.
+Call <a href="struct.KeychainTxOutIndex.html#method.all_unbounded_spk_iters" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::all_unbounded_spk_iters"><code>all_unbounded_spk_iters</code></a> to get unbounded script pubkey iterators for all keychains.</p>
+<h2 id="change-sets"><a class="doc-anchor" href="#change-sets">§</a>Change sets</h2>
+<p>Methods that can update the last revealed index or add keychains will return <a href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet"><code>ChangeSet</code></a> to report
+these changes. This should be persisted for future recovery.</p>
+<h3 id="synopsis"><a class="doc-anchor" href="#synopsis">§</a>Synopsis</h3>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bdk_chain::indexer::keychain_txout::KeychainTxOutIndex;
+
+<span class="comment">// imagine our service has internal and external addresses but also addresses for users
+</span><span class="attr">#[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd)]
+</span><span class="kw">enum </span>MyKeychain {
+ External,
+ Internal,
+ MyAppUser {
+ user_id: u32
+ }
+}
+
+<span class="kw">let </span><span class="kw-2">mut </span>txout_index = KeychainTxOutIndex::<MyKeychain>::default();
+
+<span class="kw">let _ </span>= txout_index.insert_descriptor(MyKeychain::External, external_descriptor)<span class="question-mark">?</span>;
+<span class="kw">let _ </span>= txout_index.insert_descriptor(MyKeychain::Internal, internal_descriptor)<span class="question-mark">?</span>;
+<span class="kw">let _ </span>= txout_index.insert_descriptor(MyKeychain::MyAppUser { user_id: <span class="number">42 </span>}, descriptor_42)<span class="question-mark">?</span>;
+
+<span class="kw">let </span>new_spk_for_user = txout_index.reveal_next_spk(<span class="kw-2">&</span>MyKeychain::MyAppUser{ user_id: <span class="number">42 </span>});</code></pre></div>
+</div></details><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-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#184-205">source</a><a href="#impl-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#195-204">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(lookahead: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> with the given <code>lookahead</code>.</p>
+<p>The <code>lookahead</code> is the number of script pubkeys to derive and cache from the internal
+descriptors over and above the last revealed script index. Without a lookahead the index
+will miss outputs you own when processing transactions whose output script pubkeys lie
+beyond the last revealed index. In certain situations, such as when performing an initial
+scan of the blockchain during wallet import, it may be uncertain or unknown what the index
+of the last revealed script pubkey actually is.</p>
+<p>Refer to <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">struct-level docs</a> for more about <code>lookahead</code>.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-KeychainTxOutIndex%3CK%3E-1" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#208-335">source</a><a href="#impl-KeychainTxOutIndex%3CK%3E-1" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="docblock"><p>Methods that are <em>re-exposed</em> from the internal <a href="../spk_txout/struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex"><code>SpkTxOutIndex</code></a>.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inner" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#213-215">source</a><h4 class="code-header">pub fn <a href="#method.inner" class="fn">inner</a>(&self) -> &<a class="struct" href="../spk_txout/struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><(K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)></h4></section></summary><div class="docblock"><p>Return a reference to the internal <a href="../spk_txout/struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex"><code>SpkTxOutIndex</code></a>.</p>
+<p><strong>WARNING</strong>: The internal index will contain lookahead spks. Refer to
+<a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">struct-level docs</a> for more about <code>lookahead</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.outpoints" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#218-220">source</a><h4 class="code-header">pub fn <a href="#method.outpoints" class="fn">outpoints</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, OutPoint>></h4></section></summary><div class="docblock"><p>Get the set of indexed outpoints, corresponding to tracked keychains.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#223-230">source</a><h4 class="code-header">pub fn <a href="#method.txouts" class="fn">txouts</a>(
+ &self
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, (OutPoint, &TxOut)>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a></h4></section></summary><div class="docblock"><p>Iterate over known txouts that spend to tracked script pubkeys.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts_in_tx" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#233-240">source</a><h4 class="code-header">pub fn <a href="#method.txouts_in_tx" class="fn">txouts_in_tx</a>(
+ &self,
+ txid: Txid
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, (OutPoint, &TxOut)>></h4></section></summary><div class="docblock"><p>Finds all txouts on a transaction that has previously been scanned and indexed.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txout" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#248-252">source</a><h4 class="code-header">pub fn <a href="#method.txout" class="fn">txout</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, &TxOut>></h4></section></summary><div class="docblock"><p>Return the [<code>TxOut</code>] of <code>outpoint</code> if it has been indexed, and if it corresponds to a
+tracked keychain.</p>
+<p>The associated keychain and keychain index of the txout’s spk is also returned.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.txout" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::txout"><code>SpkTxOutIndex::txout</code></a> internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.spk_at_index" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#257-259">source</a><h4 class="code-header">pub fn <a href="#method.spk_at_index" class="fn">spk_at_index</a>(&self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&Script></h4></section></summary><div class="docblock"><p>Return the script that exists under the given <code>keychain</code>’s <code>index</code>.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.spk_at_index" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::spk_at_index"><code>SpkTxOutIndex::spk_at_index</code></a> internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.index_of_spk" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#264-266">source</a><h4 class="code-header">pub fn <a href="#method.index_of_spk" class="fn">index_of_spk</a>(&self, script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(K, <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 keychain and keychain index associated with the spk.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.index_of_spk" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::index_of_spk"><code>SpkTxOutIndex::index_of_spk</code></a> internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_used" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#274-276">source</a><h4 class="code-header">pub fn <a href="#method.is_used" class="fn">is_used</a>(&self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the spk under the <code>keychain</code>’s <code>index</code> has been used.</p>
+<p>Here, “unused” means that after the script pubkey was stored in the index, the index has
+never scanned a transaction output with it.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.is_used" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::is_used"><code>SpkTxOutIndex::is_used</code></a> internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_used" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#294-296">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Marks the script pubkey at <code>index</code> as used even though the tracker hasn’t seen an output
+with it.</p>
+<p>This only has an effect when the <code>index</code> had been added to <code>self</code> already and was unused.</p>
+<p>Returns whether the spk under the given <code>keychain</code> and <code>index</code> is successfully
+marked as used. Returns false either when there is no descriptor under the given
+keychain, or when the spk is already marked as used.</p>
+<p>This is useful when you want to reserve a script pubkey for something but don’t want to add
+the transaction output using it to the index yet. Other callers will consider <code>index</code> on
+<code>keychain</code> used until you call <a href="struct.KeychainTxOutIndex.html#method.unmark_used" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::unmark_used"><code>unmark_used</code></a>.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.mark_used" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::mark_used"><code>SpkTxOutIndex::mark_used</code></a> internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#307-309">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Undoes the effect of <a href="struct.KeychainTxOutIndex.html#method.mark_used" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::mark_used"><code>mark_used</code></a>. Returns whether the <code>index</code> is inserted back into
+<code>unused</code>.</p>
+<p>Note that if <code>self</code> has scanned an output with this script pubkey, then this will have no
+effect.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.unmark_used" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::unmark_used"><code>SpkTxOutIndex::unmark_used</code></a> internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.sent_and_received" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#316-323">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(
+ &self,
+ tx: &Transaction,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
+) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Computes the total value transfer effect <code>tx</code> has on the script pubkeys belonging to the
+keychains in <code>range</code>. Value is <em>sent</em> when a script pubkey in the <code>range</code> is on an input and
+<em>received</em> when it is on an output. For <code>sent</code> to be computed correctly, the output being
+spent must have already been scanned by the index. Calculating received just uses the
+[<code>Transaction</code>] outputs directly, so it will be correct even if it has not been scanned.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.net_value" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#332-334">source</a><h4 class="code-header">pub fn <a href="#method.net_value" class="fn">net_value</a>(
+ &self,
+ tx: &Transaction,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
+) -> SignedAmount</h4></section></summary><div class="docblock"><p>Computes the net value that this transaction gives to the script pubkeys in the index and
+<em>takes</em> from the transaction outputs in the index. Shorthand for calling
+<a href="struct.KeychainTxOutIndex.html#method.sent_and_received" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::sent_and_received"><code>sent_and_received</code></a> and subtracting sent from received.</p>
+<p>This calls <a href="../spk_txout/struct.SpkTxOutIndex.html#method.net_value" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::net_value"><code>SpkTxOutIndex::net_value</code></a> internally.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-KeychainTxOutIndex%3CK%3E-2" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#337-805">source</a><a href="#impl-KeychainTxOutIndex%3CK%3E-2" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.keychains" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#339-346">source</a><h4 class="code-header">pub fn <a href="#method.keychains" class="fn">keychains</a>(
+ &self
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>, &Descriptor<DescriptorPublicKey>)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a> + '_</h4></section></summary><div class="docblock"><p>Return all keychains and their corresponding descriptors.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_descriptor" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#363-404">source</a><h4 class="code-header">pub fn <a href="#method.insert_descriptor" class="fn">insert_descriptor</a>(
+ &mut self,
+ keychain: K,
+ descriptor: Descriptor<DescriptorPublicKey>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>, <a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError">InsertDescriptorError</a><K>></h4></section></summary><div class="docblock"><p>Insert a descriptor with a keychain associated to it.</p>
+<p>Adding a descriptor means you will be able to derive new script pubkeys under it and the
+txout index will discover transaction outputs with those script pubkeys (once they’ve been
+derived and added to the index).</p>
+<p>keychain <-> descriptor is a one-to-one mapping that cannot be changed. Attempting to do so
+will return a <a href="enum.InsertDescriptorError.html" title="enum bdk_chain::indexer::keychain_txout::InsertDescriptorError"><code>InsertDescriptorError<K></code></a>.</p>
+<p><code>[KeychainTxOutIndex]</code> will prevent you from inserting two descriptors which derive the same
+script pubkey at index 0, but it’s up to you to ensure that descriptors don’t collide at
+other indices. If they do nothing catastrophic happens at the <code>KeychainTxOutIndex</code> level
+(one keychain just becomes the defacto owner of that spk arbitrarily) but this may have
+subtle implications up the application stack like one UTXO being missing from one keychain
+because it has been assigned to another which produces the same script pubkey.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_descriptor" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#408-411">source</a><h4 class="code-header">pub fn <a href="#method.get_descriptor" class="fn">get_descriptor</a>(
+ &self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&Descriptor<DescriptorPublicKey>></h4></section></summary><div class="docblock"><p>Gets the descriptor associated with the keychain. Returns <code>None</code> if the keychain doesn’t
+have a descriptor associated with it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.lookahead" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#418-420">source</a><h4 class="code-header">pub fn <a href="#method.lookahead" class="fn">lookahead</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></h4></section></summary><div class="docblock"><p>Get the lookahead setting.</p>
+<p>Refer to <a href="struct.KeychainTxOutIndex.html#method.new" title="associated function bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::new"><code>new</code></a> for more information on the <code>lookahead</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.lookahead_to_target" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#425-435">source</a><h4 class="code-header">pub fn <a href="#method.lookahead_to_target" class="fn">lookahead_to_target</a>(&mut self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>, target_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h4></section></summary><div class="docblock"><p>Store lookahead scripts until <code>target_index</code> (inclusive).</p>
+<p>This does not change the global <code>lookahead</code> setting.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unbounded_spk_iter" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#471-477">source</a><h4 class="code-header">pub fn <a href="#method.unbounded_spk_iter" class="fn">unbounded_spk_iter</a>(
+ &self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../struct.SpkIterator.html" title="struct bdk_chain::SpkIterator">SpkIterator</a><Descriptor<DescriptorPublicKey>>></h4></section></summary><div class="docblock"><p>Get an unbounded spk iterator over a given <code>keychain</code>. Returns <code>None</code> if the provided
+keychain doesn’t exist</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.all_unbounded_spk_iters" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#480-492">source</a><h4 class="code-header">pub fn <a href="#method.all_unbounded_spk_iters" class="fn">all_unbounded_spk_iters</a>(
+ &self
+) -> <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><K, <a class="struct" href="../../struct.SpkIterator.html" title="struct bdk_chain::SpkIterator">SpkIterator</a><Descriptor<DescriptorPublicKey>>></h4></section></summary><div class="docblock"><p>Get unbounded spk iterators for all keychains.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.revealed_spks" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#495-528">source</a><h4 class="code-header">pub fn <a href="#method.revealed_spks" class="fn">revealed_spks</a>(
+ &self,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, &Script>></h4></section></summary><div class="docblock"><p>Iterate over revealed spks of keychains in <code>range</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.revealed_keychain_spks" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#534-546">source</a><h4 class="code-header">pub fn <a href="#method.revealed_keychain_spks" class="fn">revealed_keychain_spks</a><'a>(
+ &'a self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a K</a>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><&Script>> + 'a</h4></section></summary><div class="docblock"><p>Iterate over revealed spks of the given <code>keychain</code> with ascending indices.</p>
+<p>This is a double ended iterator so you can easily reverse it to get an iterator where
+the script pubkeys that were most recently revealed are first.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unused_spks" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#549-556">source</a><h4 class="code-header">pub fn <a href="#method.unused_spks" class="fn">unused_spks</a>(
+ &self
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, &Script>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section></summary><div class="docblock"><p>Iterate over revealed, but unused, spks of all keychains.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unused_keychain_spks" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#560-572">source</a><h4 class="code-header">pub fn <a href="#method.unused_keychain_spks" class="fn">unused_keychain_spks</a>(
+ &self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><&Script>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section></summary><div class="docblock"><p>Iterate over revealed, but unused, spks of the given <code>keychain</code>.
+Returns an empty iterator if the provided keychain doesn’t exist.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next_index" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#586-607">source</a><h4 class="code-header">pub fn <a href="#method.next_index" class="fn">next_index</a>(&self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)></h4></section></summary><div class="docblock"><p>Get the next derivation index for <code>keychain</code>. The next index is the index after the last revealed
+derivation index.</p>
+<p>The second field in the returned tuple represents whether the next derivation index is new.
+There are two scenarios where the next derivation index is reused (not new):</p>
+<ol>
+<li>The keychain’s descriptor has no wildcard, and a script has already been revealed.</li>
+<li>The number of revealed scripts has already reached 2^31 (refer to BIP-32).</li>
+</ol>
+<p>Not checking the second field of the tuple may result in address reuse.</p>
+<p>Returns None if the provided <code>keychain</code> doesn’t exist.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.last_revealed_indices" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#612-620">source</a><h4 class="code-header">pub fn <a href="#method.last_revealed_indices" class="fn">last_revealed_indices</a>(&self) -> <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><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></h4></section></summary><div class="docblock"><p>Get the last derivation index that is revealed for each keychain.</p>
+<p>Keychains with no revealed indices will not be included in the returned <a href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap"><code>BTreeMap</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.last_revealed_index" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#624-627">source</a><h4 class="code-header">pub fn <a href="#method.last_revealed_index" class="fn">last_revealed_index</a>(&self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></h4></section></summary><div class="docblock"><p>Get the last derivation index revealed for <code>keychain</code>. Returns None if the keychain doesn’t
+exist, or if the keychain doesn’t have any revealed scripts.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_to_target_multi" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#630-640">source</a><h4 class="code-header">pub fn <a href="#method.reveal_to_target_multi" class="fn">reveal_to_target_multi</a>(
+ &mut self,
+ keychains: &<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><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>
+) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h4></section></summary><div class="docblock"><p>Convenience method to call <a href="struct.KeychainTxOutIndex.html#method.reveal_to_target" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::reveal_to_target"><code>Self::reveal_to_target</code></a> on multiple keychains.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_to_target" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#655-676">source</a><h4 class="code-header">pub fn <a href="#method.reveal_to_target" class="fn">reveal_to_target</a>(
+ &mut self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>,
+ target_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="type" href="../../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>>, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>)></h4></section></summary><div class="docblock"><p>Reveals script pubkeys of the <code>keychain</code>’s descriptor <strong>up to and including</strong> the
+<code>target_index</code>.</p>
+<p>If the <code>target_index</code> cannot be reached (due to the descriptor having no wildcard and/or
+the <code>target_index</code> is in the hardened index range), this method will make a best-effort and
+reveal up to the last possible index.</p>
+<p>This returns list of newly revealed indices (alongside their scripts) and a
+<a href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet"><code>ChangeSet</code></a>, which reports updates to the latest revealed index. If no new script
+pubkeys are revealed, then both of these will be empty.</p>
+<p>Returns None if the provided <code>keychain</code> doesn’t exist.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_next_spk" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#690-705">source</a><h4 class="code-header">pub fn <a href="#method.reveal_next_spk" class="fn">reveal_next_spk</a>(
+ &mut self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="type" href="../../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>)></h4></section></summary><div class="docblock"><p>Attempts to reveal the next script pubkey for <code>keychain</code>.</p>
+<p>Returns the derivation index of the revealed script pubkey, the revealed script pubkey and a
+<a href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet"><code>ChangeSet</code></a> which represents changes in the last revealed index (if any).
+Returns None if the provided keychain doesn’t exist.</p>
+<p>When a new script cannot be revealed, we return the last revealed script and an empty
+<a href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet"><code>ChangeSet</code></a>. There are two scenarios when a new script pubkey cannot be derived:</p>
+<ol>
+<li>The descriptor has no wildcard and already has one script revealed.</li>
+<li>The descriptor has already revealed scripts up to the numeric bound.</li>
+<li>There is no descriptor associated with the given keychain.</li>
+</ol>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next_unused_spk" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#720-727">source</a><h4 class="code-header">pub fn <a href="#method.next_unused_spk" class="fn">next_unused_spk</a>(
+ &mut self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="type" href="../../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>)></h4></section></summary><div class="docblock"><p>Gets the next unused script pubkey in the keychain. I.e., the script pubkey with the lowest
+index that has not been used yet.</p>
+<p>This will derive and reveal a new script pubkey if no more unused script pubkeys exist.</p>
+<p>If the descriptor has no wildcard and already has a used script pubkey or if a descriptor
+has used all scripts up to the derivation bounds, then the last derived script pubkey will be
+returned.</p>
+<p>Returns <code>None</code> if there are no script pubkeys that have been used and no new script pubkey
+could be revealed (see <a href="struct.KeychainTxOutIndex.html#method.reveal_next_spk" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::reveal_next_spk"><code>reveal_next_spk</code></a> for when this happens).</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keychain_outpoints" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#731-737">source</a><h4 class="code-header">pub fn <a href="#method.keychain_outpoints" class="fn">keychain_outpoints</a><'a>(
+ &'a self,
+ keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a K</a>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><OutPoint>> + 'a</h4></section></summary><div class="docblock"><p>Iterate over all [<code>OutPoint</code>]s that have <code>TxOut</code>s with script pubkeys derived from
+<code>keychain</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keychain_outpoints_in_range" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#740-747">source</a><h4 class="code-header">pub fn <a href="#method.keychain_outpoints_in_range" class="fn">keychain_outpoints_in_range</a><'a>(
+ &'a self,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K> + 'a
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="../../type.KeychainIndexed.html" title="type bdk_chain::KeychainIndexed">KeychainIndexed</a><K, OutPoint>> + 'a</h4></section></summary><div class="docblock"><p>Iterate over [<code>OutPoint</code>]s that have script pubkeys derived from keychains in <code>range</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.last_used_index" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#766-768">source</a><h4 class="code-header">pub fn <a href="#method.last_used_index" class="fn">last_used_index</a>(&self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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 highest derivation index of the <code>keychain</code> where <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> has
+found a [<code>TxOut</code>] with it’s script pubkey.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.last_used_indices" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#772-780">source</a><h4 class="code-header">pub fn <a href="#method.last_used_indices" class="fn">last_used_indices</a>(&self) -> <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><K, <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 highest derivation index of each keychain that <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> has found
+a [<code>TxOut</code>] with it’s script pubkey.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#787-804">source</a><h4 class="code-header">pub fn <a href="#method.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>)</h4></section></summary><div class="docblock"><p>Applies the <code>ChangeSet<K></code> to the <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"><code>KeychainTxOutIndex<K></code></a></p>
+<p>Keychains added by the <code>keychains_added</code> field of <code>ChangeSet<K></code> respect the one-to-one
+keychain <-> descriptor invariant by silently ignoring attempts to violate it (but will
+panic if <code>debug_assertions</code> are enabled).</p>
+</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-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#121">source</a><a href="#impl-Clone-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#121">source</a><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>(&self) -> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#121">source</a><a href="#impl-Debug-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#121">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#131-135">source</a><a href="#impl-Default-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#132-134">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#137-182">source</a><a href="#impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="../trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a> for <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ChangeSet" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet" class="anchor">§</a><h4 class="code-header">type <a href="../trait.Indexer.html#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h4></section></summary><div class='docblock'>The resultant “changeset” when new transaction data is indexed.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_txout" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#140-154">source</a><a href="#method.index_txout" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.index_txout" class="fn">index_txout</a>(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scan and index the given <code>outpoint</code> and <code>txout</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_tx" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#156-163">source</a><a href="#method.index_tx" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scans a transaction for relevant outpoints, which are stored and indexed internally.</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#165-173">source</a><a href="#method.initial_changeset" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Determines the <a href="../trait.Indexer.html#associatedtype.ChangeSet" title="associated type bdk_chain::indexer::Indexer::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="../trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset-1" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#175-177">source</a><a href="#method.apply_changeset-1" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>)</h4></section></summary><div class='docblock'>Apply changeset to itself.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_tx_relevant" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#179-181">source</a><a href="#method.is_tx_relevant" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Determines whether the transaction should be included in the index.</div></details></div></details></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-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Freeze-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section><section id="impl-RefUnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
+ K: <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>,</div></h3></section><section id="impl-Send-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Send-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Sync-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Unpin-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
+ K: <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> + <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>,</div></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<T> <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
+ 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
+ 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
+ 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</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<T> <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
+ 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
+ V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="The keychain doesn’t exist. Most likley hasn’t been inserted with `KeychainTxOutIndex::insert_descriptor`."><title>NoSuchKeychain in bdk_chain::indexer::keychain_txout - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">NoSuchKeychain</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-NoSuchKeychain%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-NoSuchKeychain%3CK%3E">Debug</a></li><li><a href="#impl-Display-for-NoSuchKeychain%3CK%3E">Display</a></li><li><a href="#impl-Eq-for-NoSuchKeychain%3CK%3E">Eq</a></li><li><a href="#impl-PartialEq-for-NoSuchKeychain%3CK%3E">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-NoSuchKeychain%3CK%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-NoSuchKeychain%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-NoSuchKeychain%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-NoSuchKeychain%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-NoSuchKeychain%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-NoSuchKeychain%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-NoSuchKeychain%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::indexer::keychain_txout</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>Struct <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a href="index.html">keychain_txout</a>::<wbr><a class="struct" href="#">NoSuchKeychain</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#940">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct NoSuchKeychain<K>(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The keychain doesn’t exist. Most likley hasn’t been inserted with <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a>.</p>
+</div></details><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-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><a href="#impl-Clone-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><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>(&self) -> <a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><a href="#impl-Debug-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Display-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#942-946">source</a><a href="#impl-Display-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#943-945">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-PartialEq-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><a href="#impl-PartialEq-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><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>(&self, other: &<a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K>) -> <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
+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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><a href="#impl-Eq-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <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/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></h3></section><section id="impl-StructuralPartialEq-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/keychain_txout.rs.html#938">source</a><a href="#impl-StructuralPartialEq-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K></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-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Freeze-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
+ K: <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>,</div></h3></section><section id="impl-Send-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Send-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Sync-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Unpin-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
+ K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::indexer::keychain_txout::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
+ K: <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>,</div></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<T> <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
+ 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
+ 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
+ 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</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<T> <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
+ 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <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
+ 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>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
+ V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+window.SIDEBAR_ITEMS = {"mod":["keychain_txout","spk_txout"],"trait":["Indexer"]};
\ No newline at end of file
--- /dev/null
+<!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="`SpkTxOutIndex` is an index storing `TxOut`s that have a script pubkey that matches those in a list."><title>bdk_chain::indexer::spk_txout - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module spk_txout</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li></ul></section><h2><a href="../index.html">In bdk_chain::indexer</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>Module <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a class="mod" href="#">spk_txout</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#1-334">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex"><code>SpkTxOutIndex</code></a> is an index storing [<code>TxOut</code>]s that have a script pubkey that matches those in a list.</p>
+</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a></div><div class="desc docblock-short">An index storing <a href="bitcoin::TxOut"><code>TxOut</code></a>s that have a script pubkey that matches those in a list.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+window.SIDEBAR_ITEMS = {"struct":["SpkTxOutIndex"]};
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An index storing `TxOut`s that have a script pubkey that matches those in a list."><title>SpkTxOutIndex in bdk_chain::indexer::spk_txout - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">SpkTxOutIndex</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all_spks">all_spks</a></li><li><a href="#method.index_of_spk">index_of_spk</a></li><li><a href="#method.insert_spk">insert_spk</a></li><li><a href="#method.is_relevant">is_relevant</a></li><li><a href="#method.is_used">is_used</a></li><li><a href="#method.mark_used">mark_used</a></li><li><a href="#method.net_value">net_value</a></li><li><a href="#method.outpoints">outpoints</a></li><li><a href="#method.outputs_in_range">outputs_in_range</a></li><li><a href="#method.scan">scan</a></li><li><a href="#method.scan_txout">scan_txout</a></li><li><a href="#method.sent_and_received">sent_and_received</a></li><li><a href="#method.spk_at_index">spk_at_index</a></li><li><a href="#method.txout">txout</a></li><li><a href="#method.txouts">txouts</a></li><li><a href="#method.txouts_in_tx">txouts_in_tx</a></li><li><a href="#method.unmark_used">unmark_used</a></li><li><a href="#method.unused_spks">unused_spks</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-SpkTxOutIndex%3CI%3E">Clone</a></li><li><a href="#impl-Debug-for-SpkTxOutIndex%3CI%3E">Debug</a></li><li><a href="#impl-Default-for-SpkTxOutIndex%3CI%3E">Default</a></li><li><a href="#impl-Indexer-for-SpkTxOutIndex%3CI%3E">Indexer</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SpkTxOutIndex%3CI%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SpkTxOutIndex%3CI%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SpkTxOutIndex%3CI%3E">Send</a></li><li><a href="#impl-Sync-for-SpkTxOutIndex%3CI%3E">Sync</a></li><li><a href="#impl-Unpin-for-SpkTxOutIndex%3CI%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SpkTxOutIndex%3CI%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::indexer::spk_txout</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>Struct <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">indexer</a>::<wbr><a href="index.html">spk_txout</a>::<wbr><a class="struct" href="#">SpkTxOutIndex</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#32-43">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SpkTxOutIndex<I> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An index storing <a href="bitcoin::TxOut"><code>TxOut</code></a>s that have a script pubkey that matches those in a list.</p>
+<p>The basic idea is that you insert script pubkeys you care about into the index with
+<a href="struct.SpkTxOutIndex.html#method.insert_spk" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::insert_spk"><code>insert_spk</code></a> and then when you call <a href="../trait.Indexer.html#tymethod.index_tx" title="method bdk_chain::indexer::Indexer::index_tx"><code>Indexer::index_tx</code></a> or <a href="../trait.Indexer.html#tymethod.index_txout" title="method bdk_chain::indexer::Indexer::index_txout"><code>Indexer::index_txout</code></a>, the
+index will look at any txouts you pass in and store and index any txouts matching one of its
+script pubkeys.</p>
+<p>Each script pubkey is associated with an application-defined index script index <code>I</code>, which must be
+<a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord"><code>Ord</code></a>. Usually, this is used to associate the derivation index of the script pubkey or even a
+combination of <code>(keychain, derivation_index)</code>.</p>
+<p>Note there is no harm in scanning transactions that disappear from the blockchain or were never
+in there in the first place. <code>SpkTxOutIndex</code> is intentionally <em>monotone</em> – you cannot delete or
+modify txouts that have been indexed. To find out which txouts from the index are actually in the
+chain or unspent, you must use other sources of information like a <a href="../../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><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-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#81-334">source</a><a href="#impl-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.scan" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#89-100">source</a><h4 class="code-header">pub fn <a href="#method.scan" class="fn">scan</a>(&mut self, tx: &Transaction) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><I></h4></section></summary><div class="docblock"><p>Scans a transaction’s outputs for matching script pubkeys.</p>
+<p>Typically, this is used in two situations:</p>
+<ol>
+<li>After loading transaction data from the disk, you may scan over all the txouts to restore all
+your txouts.</li>
+<li>When getting new data from the chain, you usually scan it before incorporating it into your chain state.</li>
+</ol>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.scan_txout" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#104-112">source</a><h4 class="code-header">pub fn <a href="#method.scan_txout" class="fn">scan_txout</a>(&mut self, op: OutPoint, txout: &TxOut) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>></h4></section></summary><div class="docblock"><p>Scan a single <code>TxOut</code> for a matching script pubkey and returns the index that matches the
+script pubkey (if any).</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.outpoints" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#115-117">source</a><h4 class="code-header">pub fn <a href="#method.outpoints" class="fn">outpoints</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><(I, OutPoint)></h4></section></summary><div class="docblock"><p>Get a reference to the set of indexed outpoints.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#120-126">source</a><h4 class="code-header">pub fn <a href="#method.txouts" class="fn">txouts</a>(
+ &self
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, OutPoint, &TxOut)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a></h4></section></summary><div class="docblock"><p>Iterate over all known txouts that spend to tracked script pubkeys.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts_in_tx" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#129-136">source</a><h4 class="code-header">pub fn <a href="#method.txouts_in_tx" class="fn">txouts_in_tx</a>(
+ &self,
+ txid: Txid
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Finds all txouts on a transaction that has previously been scanned and indexed.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.outputs_in_range" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#139-167">source</a><h4 class="code-header">pub fn <a href="#method.outputs_in_range" class="fn">outputs_in_range</a>(
+ &self,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, OutPoint)></h4></section></summary><div class="docblock"><p>Iterates over all the outputs with script pubkeys in an index range.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txout" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#172-174">source</a><h4 class="code-header">pub fn <a href="#method.txout" class="fn">txout</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, &TxOut)></h4></section></summary><div class="docblock"><p>Returns the txout and script pubkey index of the <code>TxOut</code> at <code>OutPoint</code>.</p>
+<p>Returns <code>None</code> if the <code>TxOut</code> hasn’t been scanned or if nothing matching was found there.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.spk_at_index" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#179-181">source</a><h4 class="code-header">pub fn <a href="#method.spk_at_index" class="fn">spk_at_index</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&Script></h4></section></summary><div class="docblock"><p>Returns the script that has been inserted at the <code>index</code>.</p>
+<p>If that index hasn’t been inserted yet, it will return <code>None</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.all_spks" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#184-186">source</a><h4 class="code-header">pub fn <a href="#method.all_spks" class="fn">all_spks</a>(&self) -> &<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><I, ScriptBuf></h4></section></summary><div class="docblock"><p>The script pubkeys that are being tracked by the index.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_spk" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#191-201">source</a><h4 class="code-header">pub fn <a href="#method.insert_spk" class="fn">insert_spk</a>(&mut self, index: I, spk: ScriptBuf) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Adds a script pubkey to scan for. Returns <code>false</code> and does nothing if spk already exists in the map</p>
+<p>the index will look for outputs spending to this spk whenever it scans new data.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unused_spks" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#220-227">source</a><h4 class="code-header">pub fn <a href="#method.unused_spks" class="fn">unused_spks</a><R>(
+ &self,
+ range: R
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, &Script)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a><div class="where">where
+ R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>,</div></h4></section></summary><div class="docblock"><p>Iterates over all unused script pubkeys in an index range.</p>
+<p>Here, “unused” means that after the script pubkey was stored in the index, the index has
+never scanned a transaction output with it.</p>
+<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
+<span class="comment">// imagine our spks are indexed like (keychain, derivation_index).
+</span><span class="kw">let </span>txout_index = SpkTxOutIndex::<(u32, u32)>::default();
+<span class="kw">let </span>all_unused_spks = txout_index.unused_spks(..);
+<span class="kw">let </span>change_index = <span class="number">1</span>;
+<span class="kw">let </span>unused_change_spks =
+ txout_index.unused_spks((change_index, u32::MIN)..(change_index, u32::MAX));</code></pre></div>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_used" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#233-235">source</a><h4 class="code-header">pub fn <a href="#method.is_used" class="fn">is_used</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the script pubkey at <code>index</code> has been used or not.</p>
+<p>Here, “unused” means that after the script pubkey was stored in the index, the index has
+never scanned a transaction output with it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_used" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#247-249">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Marks the script pubkey at <code>index</code> as used even though it hasn’t seen an output spending to it.
+This only affects when the <code>index</code> had already been added to <code>self</code> and was unused.</p>
+<p>Returns whether the <code>index</code> was initially present as <code>unused</code>.</p>
+<p>This is useful when you want to reserve a script pubkey for something but don’t want to add
+the transaction output using it to the index yet. Other callers will consider the <code>index</code> used
+until you call <a href="struct.SpkTxOutIndex.html#method.unmark_used" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::unmark_used"><code>unmark_used</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#258-268">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Undoes the effect of <a href="struct.SpkTxOutIndex.html#method.mark_used" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::mark_used"><code>mark_used</code></a>. Returns whether the <code>index</code> is inserted back into
+<code>unused</code>.</p>
+<p>Note that if <code>self</code> has scanned an output with this script pubkey then this will have no
+effect.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.index_of_spk" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#271-273">source</a><h4 class="code-header">pub fn <a href="#method.index_of_spk" class="fn">index_of_spk</a>(&self, script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>></h4></section></summary><div class="docblock"><p>Returns the index associated with the script pubkey.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.sent_and_received" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#280-304">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(
+ &self,
+ tx: &Transaction,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>
+) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Computes the total value transfer effect <code>tx</code> has on the script pubkeys in <code>range</code>. Value is
+<em>sent</em> when a script pubkey in the <code>range</code> is on an input and <em>received</em> when it is on an
+output. For <code>sent</code> to be computed correctly, the output being spent must have already been
+scanned by the index. Calculating received just uses the [<code>Transaction</code>] outputs directly,
+so it will be correct even if it has not been scanned.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.net_value" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#310-314">source</a><h4 class="code-header">pub fn <a href="#method.net_value" class="fn">net_value</a>(
+ &self,
+ tx: &Transaction,
+ range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>
+) -> SignedAmount</h4></section></summary><div class="docblock"><p>Computes the net value transfer effect of <code>tx</code> on the script pubkeys in <code>range</code>. Shorthand
+for calling <a href="struct.SpkTxOutIndex.html#method.sent_and_received" title="method bdk_chain::indexer::spk_txout::SpkTxOutIndex::sent_and_received"><code>sent_and_received</code></a> and subtracting sent from received.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_relevant" class="method"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#323-333">source</a><h4 class="code-header">pub fn <a href="#method.is_relevant" class="fn">is_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether any of the inputs of this transaction spend a txout tracked or whether any output
+matches one of our script pubkeys.</p>
+<p>It is easily possible to misuse this method and get false negatives by calling it before you
+have scanned the <code>TxOut</code>s the transaction is spending. For example, if you want to filter out
+all the transactions in a block that are irrelevant, you <strong>must first scan all the
+transactions in the block</strong> and only then use this method.</p>
+</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-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#31">source</a><a href="#impl-Clone-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#31">source</a><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>(&self) -> <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#31">source</a><a href="#impl-Debug-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#31">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#45-55">source</a><a href="#impl-Default-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#46-54">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#57-79">source</a><a href="#impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="../trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a> for <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ChangeSet" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet" class="anchor">§</a><h4 class="code-header">type <a href="../trait.Indexer.html#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></summary><div class='docblock'>The resultant “changeset” when new transaction data is indexed.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_txout" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#60-63">source</a><a href="#method.index_txout" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.index_txout" class="fn">index_txout</a>(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scan and index the given <code>outpoint</code> and <code>txout</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_tx" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#65-68">source</a><a href="#method.index_tx" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scans a transaction for relevant outpoints, which are stored and indexed internally.</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#70">source</a><a href="#method.initial_changeset" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Determines the <a href="../trait.Indexer.html#associatedtype.ChangeSet" title="associated type bdk_chain::indexer::Indexer::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="../trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#72-74">source</a><a href="#method.apply_changeset" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, _changeset: Self::<a class="associatedtype" href="../trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>)</h4></section></summary><div class='docblock'>Apply changeset to itself.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_tx_relevant" class="method trait-impl"><a class="src rightside" href="../../../src/bdk_chain/indexer/spk_txout.rs.html#76-78">source</a><a href="#method.is_tx_relevant" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Indexer.html#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Determines whether the transaction should be included in the index.</div></details></div></details></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-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Freeze-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section><section id="impl-RefUnwindSafe-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-RefUnwindSafe-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
+ I: <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>,</div></h3></section><section id="impl-Send-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Send-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
+ I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Sync-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
+ I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Unpin-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
+ I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-UnwindSafe-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
+ I: <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> + <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>,</div></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<T> <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
+ 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
+ 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
+ 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</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<T> <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
+ 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
+ V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="Utilities for indexing transaction data."><title>Indexer in bdk_chain::indexer - 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 trait"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Indexer</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.ChangeSet">ChangeSet</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.apply_changeset">apply_changeset</a></li><li><a href="#tymethod.index_tx">index_tx</a></li><li><a href="#tymethod.index_txout">index_txout</a></li><li><a href="#tymethod.initial_changeset">initial_changeset</a></li><li><a href="#tymethod.is_tx_relevant">is_tx_relevant</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk_chain::indexer</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>Trait <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">indexer</a>::<wbr><a class="trait" href="#">Indexer</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/indexer.rs.html#15-33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Indexer {
+ type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a>;
+
+ // Required methods
+ fn <a href="#tymethod.index_txout" class="fn">index_txout</a>(
+ &mut self,
+ outpoint: OutPoint,
+ txout: &TxOut
+ ) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>;
+<span class="item-spacer"></span> fn <a href="#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>;
+<span class="item-spacer"></span> fn <a href="#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>);
+<span class="item-spacer"></span> fn <a href="#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>;
+<span class="item-spacer"></span> fn <a href="#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Utilities for indexing transaction data.</p>
+<p>Types which implement this trait can be used to construct an <a href="../indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.
+This trait’s methods should rarely be called directly.</p>
+</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.ChangeSet" class="method"><a class="src rightside" href="../../src/bdk_chain/indexer.rs.html#17">source</a><h4 class="code-header">type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a></h4></section></summary><div class="docblock"><p>The resultant “changeset” when new transaction data is indexed.</p>
+</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.index_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/indexer.rs.html#20">source</a><h4 class="code-header">fn <a href="#tymethod.index_txout" class="fn">index_txout</a>(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class="docblock"><p>Scan and index the given <code>outpoint</code> and <code>txout</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.index_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/indexer.rs.html#23">source</a><h4 class="code-header">fn <a href="#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class="docblock"><p>Scans a transaction for relevant outpoints, which are stored and indexed internally.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexer.rs.html#26">source</a><h4 class="code-header">fn <a href="#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a>)</h4></section></summary><div class="docblock"><p>Apply changeset to itself.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.initial_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/indexer.rs.html#29">source</a><h4 class="code-header">fn <a href="#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexer::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class="docblock"><p>Determines the <a href="trait.Indexer.html#associatedtype.ChangeSet" title="associated type bdk_chain::indexer::Indexer::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="trait.Indexer.html" title="trait bdk_chain::indexer::Indexer"><code>Indexer</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_tx_relevant" class="method"><a class="src rightside" href="../../src/bdk_chain/indexer.rs.html#32">source</a><h4 class="code-header">fn <a href="#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determines whether the transaction should be included in the index.</p>
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexer/spk_txout.rs.html#57-79">source</a><a href="#impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a> for <a class="struct" href="spk_txout/struct.SpkTxOutIndex.html" title="struct bdk_chain::indexer::spk_txout::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><section id="associatedtype.ChangeSet-1" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexer/keychain_txout.rs.html#137-182">source</a><a href="#impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="trait.Indexer.html" title="trait bdk_chain::indexer::Indexer">Indexer</a> for <a class="struct" href="keychain_txout/struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><section id="associatedtype.ChangeSet-2" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="struct" href="keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h4></section></div></details></div><script src="../../trait.impl/bdk_chain/indexer/trait.Indexer.js" async></script></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="The default lookahead for a `KeychainTxOutIndex`"><title>DEFAULT_LOOKAHEAD in bdk_chain::keychain - 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In bdk_chain::keychain</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>Constant <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="constant" href="#">DEFAULT_LOOKAHEAD</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain/txout_index.rs.html#19">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub const DEFAULT_LOOKAHEAD: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a> = 25;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The default lookahead for a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a></p>
-</div></details></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="Error returned from `KeychainTxOutIndex::insert_descriptor`"><title>InsertDescriptorError in bdk_chain::keychain - 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">InsertDescriptorError</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.DescriptorAlreadyAssigned">DescriptorAlreadyAssigned</a></li><li><a href="#variant.KeychainAlreadyAssigned">KeychainAlreadyAssigned</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-InsertDescriptorError%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-InsertDescriptorError%3CK%3E">Debug</a></li><li><a href="#impl-Display-for-InsertDescriptorError%3CK%3E">Display</a></li><li><a href="#impl-Error-for-InsertDescriptorError%3CK%3E">Error</a></li><li><a href="#impl-PartialEq-for-InsertDescriptorError%3CK%3E">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-InsertDescriptorError%3CK%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-InsertDescriptorError%3CK%3E">!Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-InsertDescriptorError%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-InsertDescriptorError%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-InsertDescriptorError%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-InsertDescriptorError%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-InsertDescriptorError%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::keychain</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">keychain</a>::<wbr><a class="enum" href="#">InsertDescriptorError</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain/txout_index.rs.html#808-823">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub enum InsertDescriptorError<K> {
- DescriptorAlreadyAssigned {
- descriptor: Descriptor<DescriptorPublicKey>,
- existing_assignment: K,
- },
- KeychainAlreadyAssigned {
- keychain: K,
- existing_assignment: Descriptor<DescriptorPublicKey>,
- },
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Error returned from <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a></p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.DescriptorAlreadyAssigned" class="variant"><a href="#variant.DescriptorAlreadyAssigned" class="anchor">§</a><h3 class="code-header">DescriptorAlreadyAssigned</h3></section><div class="docblock"><p>The descriptor has already been assigned to a keychain so you can’t assign it to another</p>
-</div><div class="sub-variant" id="variant.DescriptorAlreadyAssigned.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.DescriptorAlreadyAssigned.field.descriptor" class="section-header"><a href="#variant.DescriptorAlreadyAssigned.field.descriptor" class="anchor field">§</a><code>descriptor: Descriptor<DescriptorPublicKey></code></span><div class="docblock"><p>The descriptor you have attempted to reassign</p>
-</div></div><div class="sub-variant-field"><span id="variant.DescriptorAlreadyAssigned.field.existing_assignment" class="section-header"><a href="#variant.DescriptorAlreadyAssigned.field.existing_assignment" class="anchor field">§</a><code>existing_assignment: K</code></span><div class="docblock"><p>The keychain that the descriptor is already assigned to</p>
-</div></div></div><section id="variant.KeychainAlreadyAssigned" class="variant"><a href="#variant.KeychainAlreadyAssigned" class="anchor">§</a><h3 class="code-header">KeychainAlreadyAssigned</h3></section><div class="docblock"><p>The keychain is already assigned to a descriptor so you can’t reassign it</p>
-</div><div class="sub-variant" id="variant.KeychainAlreadyAssigned.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.KeychainAlreadyAssigned.field.keychain" class="section-header"><a href="#variant.KeychainAlreadyAssigned.field.keychain" class="anchor field">§</a><code>keychain: K</code></span><div class="docblock"><p>The keychain that you have attempted to reassign</p>
-</div></div><div class="sub-variant-field"><span id="variant.KeychainAlreadyAssigned.field.existing_assignment" class="section-header"><a href="#variant.KeychainAlreadyAssigned.field.existing_assignment" class="anchor field">§</a><code>existing_assignment: Descriptor<DescriptorPublicKey></code></span><div class="docblock"><p>The descriptor that the keychain is already assigned to</p>
-</div></div></div></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-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><a href="#impl-Clone-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><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>(&self) -> <a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><a href="#impl-Debug-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Display-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#825-848">source</a><a href="#impl-Display-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#826-847">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Error-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#851">source</a><a href="#impl-Error-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> for <a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.source" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#84">source</a></span><a href="#method.source" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source" class="fn">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static)></h4></section></summary><div class='docblock'>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.description" 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/error.rs.html#110">source</a></span><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description" class="fn">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.42.0: use the Display impl or to_string()</span></div></span><div class='docblock'> <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cause" 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/error.rs.html#120">source</a></span><a href="#method.cause" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.cause" class="fn">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a>></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.33.0: replaced by Error::source, which can support downcasting</span></div></span></details><details class="toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#184">source</a><a href="#method.provide" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide" class="fn">provide</a><'a>(&'a self, request: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/error/struct.Request.html" title="struct core::error::Request">Request</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><a href="#impl-PartialEq-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><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>(&self, other: &<a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K>) -> <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
-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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-InsertDescriptorError%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#806">source</a><a href="#impl-StructuralPartialEq-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></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-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Freeze-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> !<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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K></h3></section><section id="impl-RefUnwindSafe-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
- K: <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>,</div></h3></section><section id="impl-Send-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Send-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Sync-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-Unpin-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-InsertDescriptorError%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-InsertDescriptorError%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K><div class="where">where
- K: <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>,</div></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<T> <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
- 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
- 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
- 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
-<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</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<T> <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
- 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <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
- 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>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="Module for keychain related structures."><title>bdk_chain::keychain - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module keychain</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#types">Type Aliases</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">keychain</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain.rs.html#1-78">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Module for keychain related structures.</p>
-<p>A keychain here is a set of application-defined indexes for a miniscript descriptor where we can
-derive script pubkeys at a particular derivation index. The application’s index is simply
-anything that implements <code>Ord</code>.</p>
-<p><a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> indexes script pubkeys of keychains and scans in relevant outpoints (that
-has a <code>txout</code> containing an indexed script pubkey). Internally, this uses <a href="../struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex"><code>SpkTxOutIndex</code></a>, but
-also maintains “revealed” and “lookahead” index counts per keychain.</p>
-</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></div><div class="desc docblock-short">Balance, differentiated into various categories.</div></li><li><div class="item-name"><a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a></div><div class="desc docblock-short">Represents updates to the derivation index of a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.
-It maps each keychain <code>K</code> to a descriptor and its last revealed index.</div></li><li><div class="item-name"><a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a></div><div class="desc docblock-short"><a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> controls how script pubkeys are revealed for multiple keychains, and
-indexes [<code>TxOut</code>]s with them.</div></li><li><div class="item-name"><a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a></div><div class="desc docblock-short">The keychain doesn’t exist. Most likley hasn’t been inserted with <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a>.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a></div><div class="desc docblock-short">Error returned from <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a></div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.DEFAULT_LOOKAHEAD.html" title="constant bdk_chain::keychain::DEFAULT_LOOKAHEAD">DEFAULT_LOOKAHEAD</a></div><div class="desc docblock-short">The default lookahead for a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a></div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a></div><div class="desc docblock-short">A tuple of keychain index and <code>T</code> representing the indexed value.</div></li><li><div class="item-name"><a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a></div><div class="desc docblock-short">A tuple of keychain <code>K</code>, derivation index (<code>u32</code>) and a <code>T</code> associated with them.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-window.SIDEBAR_ITEMS = {"constant":["DEFAULT_LOOKAHEAD"],"enum":["InsertDescriptorError"],"struct":["Balance","ChangeSet","KeychainTxOutIndex","NoSuchKeychain"],"type":["Indexed","KeychainIndexed"]};
\ No newline at end of file
+++ /dev/null
-<!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="Balance, differentiated into various categories."><title>Balance in bdk_chain::keychain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Balance</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.confirmed">confirmed</a></li><li><a href="#structfield.immature">immature</a></li><li><a href="#structfield.trusted_pending">trusted_pending</a></li><li><a href="#structfield.untrusted_pending">untrusted_pending</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.total">total</a></li><li><a href="#method.trusted_spendable">trusted_spendable</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add-for-Balance">Add</a></li><li><a href="#impl-Clone-for-Balance">Clone</a></li><li><a href="#impl-Debug-for-Balance">Debug</a></li><li><a href="#impl-Default-for-Balance">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Balance">Deserialize<'de></a></li><li><a href="#impl-Display-for-Balance">Display</a></li><li><a href="#impl-Eq-for-Balance">Eq</a></li><li><a href="#impl-PartialEq-for-Balance">PartialEq</a></li><li><a href="#impl-Serialize-for-Balance">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Balance">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Balance">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Balance">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Balance">Send</a></li><li><a href="#impl-Sync-for-Balance">Sync</a></li><li><a href="#impl-Unpin-for-Balance">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Balance">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::keychain</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="struct" href="#">Balance</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain.rs.html#26-35">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Balance {
- pub immature: Amount,
- pub trusted_pending: Amount,
- pub untrusted_pending: Amount,
- pub confirmed: Amount,
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Balance, differentiated into various categories.</p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.immature" class="structfield section-header"><a href="#structfield.immature" class="anchor field">§</a><code>immature: Amount</code></span><div class="docblock"><p>All coinbase outputs not yet matured</p>
-</div><span id="structfield.trusted_pending" class="structfield section-header"><a href="#structfield.trusted_pending" class="anchor field">§</a><code>trusted_pending: Amount</code></span><div class="docblock"><p>Unconfirmed UTXOs generated by a wallet tx</p>
-</div><span id="structfield.untrusted_pending" class="structfield section-header"><a href="#structfield.untrusted_pending" class="anchor field">§</a><code>untrusted_pending: Amount</code></span><div class="docblock"><p>Unconfirmed UTXOs received from an external wallet</p>
-</div><span id="structfield.confirmed" class="structfield section-header"><a href="#structfield.confirmed" class="anchor field">§</a><code>confirmed: Amount</code></span><div class="docblock"><p>Confirmed and immediately spendable balance</p>
-</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-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#37-50">source</a><a href="#impl-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.trusted_spendable" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#42-44">source</a><h4 class="code-header">pub fn <a href="#method.trusted_spendable" class="fn">trusted_spendable</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get sum of trusted_pending and confirmed coins.</p>
-<p>This is the balance you can spend right now that shouldn’t get cancelled via another party
-double spending it.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.total" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#47-49">source</a><h4 class="code-header">pub fn <a href="#method.total" class="fn">total</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get the whole balance visible to the wallet.</p>
-</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-Add-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#67-78">source</a><a href="#impl-Add-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#70-77">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add" class="fn">add</a>(self, other: Self) -> Self</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Clone-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><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>(&self) -> <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Debug-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</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 class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#method.fmt-1" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Default-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#impl-Deserialize%3C'de%3E-for-Balance" class="anchor">§</a><h3 class="code-header">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
- __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#57-65">source</a><a href="#impl-Display-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#58-64">source</a><a href="#method.fmt" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-PartialEq-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-PartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><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>(&self, other: &<a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a>) -> <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
-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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#impl-Serialize-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
- __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Eq-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Eq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section><section id="impl-StructuralPartialEq-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-StructuralPartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</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-Balance" class="impl"><a href="#impl-Freeze-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section><section id="impl-RefUnwindSafe-for-Balance" class="impl"><a href="#impl-RefUnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section><section id="impl-Send-for-Balance" class="impl"><a href="#impl-Send-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section><section id="impl-Sync-for-Balance" class="impl"><a href="#impl-Sync-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section><section id="impl-Unpin-for-Balance" class="impl"><a href="#impl-Unpin-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h3></section><section id="impl-UnwindSafe-for-Balance" class="impl"><a href="#impl-UnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</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<T> <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
- 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
- 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
- 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
-<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</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<T> <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
- 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <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
- 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>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.203/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
- T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="Represents updates to the derivation index of a `KeychainTxOutIndex`. It maps each keychain `K` to a descriptor and its last revealed index."><title>ChangeSet in bdk_chain::keychain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.keychains_added">keychains_added</a></li><li><a href="#structfield.last_revealed">last_revealed</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Append-for-ChangeSet%3CK%3E">Append</a></li><li><a href="#impl-Clone-for-ChangeSet%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-ChangeSet%3CK%3E">Debug</a></li><li><a href="#impl-Default-for-ChangeSet%3CK%3E">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CK%3E">Deserialize<'de></a></li><li><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E">From<ChangeSet<K>></a></li><li><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<ChangeSet<K>></a></li><li><a href="#impl-PartialEq-for-ChangeSet%3CK%3E">PartialEq</a></li><li><a href="#impl-Serialize-for-ChangeSet%3CK%3E">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-ChangeSet%3CK%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ChangeSet%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ChangeSet%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ChangeSet%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-ChangeSet%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-ChangeSet%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ChangeSet%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::keychain</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="struct" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain/txout_index.rs.html#878-883">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ChangeSet<K> {
- pub keychains_added: <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><K, Descriptor<DescriptorPublicKey>>,
- pub last_revealed: <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><<a class="struct" href="../struct.DescriptorId.html" title="struct bdk_chain::DescriptorId">DescriptorId</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>,
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Represents updates to the derivation index of a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.
-It maps each keychain <code>K</code> to a descriptor and its last revealed index.</p>
-<p>It can be applied to <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> with <a href="struct.KeychainTxOutIndex.html#method.apply_changeset" title="method bdk_chain::keychain::KeychainTxOutIndex::apply_changeset"><code>apply_changeset</code></a>.</p>
-<p>The <code>last_revealed</code> field is monotone in that <a href="struct.ChangeSet.html#method.append" title="method bdk_chain::keychain::ChangeSet::append"><code>append</code></a> will never decrease it.
-<code>keychains_added</code> is <em>not</em> monotone, once it is set any attempt to change it is subject to the
-same <em>one-to-one</em> keychain <-> descriptor mapping invariant as <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> itself.</p>
-</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.keychains_added" class="structfield section-header"><a href="#structfield.keychains_added" class="anchor field">§</a><code>keychains_added: <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><K, Descriptor<DescriptorPublicKey>></code></span><div class="docblock"><p>Contains the keychains that have been added and their respective descriptor</p>
-</div><span id="structfield.last_revealed" class="structfield section-header"><a href="#structfield.last_revealed" class="anchor field">§</a><code>last_revealed: <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><<a class="struct" href="../struct.DescriptorId.html" title="struct bdk_chain::DescriptorId">DescriptorId</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><div class="docblock"><p>Contains for each descriptor_id the last revealed index of derivation</p>
-</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-Append-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#885-927">source</a><a href="#impl-Append-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#892-921">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class="docblock"><p>Merge another <a href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet"><code>ChangeSet<K></code></a> into self.</p>
-<p>For the <code>keychains_added</code> field this method respects the invariants of
-<a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::KeychainTxOutIndex::insert_descriptor"><code>insert_descriptor</code></a>. <code>last_revealed</code> always becomes the larger of the two.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#924-926">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the changeset are empty.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><a href="#impl-Clone-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><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>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><a href="#impl-Debug-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#929-936">source</a><a href="#impl-Default-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#930-935">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#868">source</a><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<'de, K> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#868">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
- __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#323-330">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E" class="anchor">§</a><h3 class="code-header">impl<A, K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="../indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#324-329">source</a><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>(indexer: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>) -> Self</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%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/changeset.rs.html#79-89">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="../struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/changeset.rs.html#80-88">source</a><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>(indexer: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>) -> Self</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-PartialEq-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><a href="#impl-PartialEq-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><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>(&self, other: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>) -> <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
-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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#868">source</a><a href="#impl-Serialize-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#868">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
- __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#865">source</a><a href="#impl-StructuralPartialEq-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></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-ChangeSet%3CK%3E" class="impl"><a href="#impl-Freeze-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section><section id="impl-RefUnwindSafe-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K><div class="where">where
- K: <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>,</div></h3></section><section id="impl-Send-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-Send-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-Sync-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-Unpin-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section><section id="impl-UnwindSafe-for-ChangeSet%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K><div class="where">where
- K: <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>,</div></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<T> <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
- 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
- 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
- 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" 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-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>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
-<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</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<T> <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
- 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.203/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
- T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="`KeychainTxOutIndex` controls how script pubkeys are revealed for multiple keychains, and indexes `TxOut`s with them."><title>KeychainTxOutIndex in bdk_chain::keychain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">KeychainTxOutIndex</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all_unbounded_spk_iters">all_unbounded_spk_iters</a></li><li><a href="#method.apply_changeset">apply_changeset</a></li><li><a href="#method.get_descriptor">get_descriptor</a></li><li><a href="#method.index_of_spk">index_of_spk</a></li><li><a href="#method.inner">inner</a></li><li><a href="#method.insert_descriptor">insert_descriptor</a></li><li><a href="#method.is_used">is_used</a></li><li><a href="#method.keychain_outpoints">keychain_outpoints</a></li><li><a href="#method.keychain_outpoints_in_range">keychain_outpoints_in_range</a></li><li><a href="#method.keychains">keychains</a></li><li><a href="#method.last_revealed_index">last_revealed_index</a></li><li><a href="#method.last_revealed_indices">last_revealed_indices</a></li><li><a href="#method.last_used_index">last_used_index</a></li><li><a href="#method.last_used_indices">last_used_indices</a></li><li><a href="#method.lookahead">lookahead</a></li><li><a href="#method.lookahead_to_target">lookahead_to_target</a></li><li><a href="#method.mark_used">mark_used</a></li><li><a href="#method.net_value">net_value</a></li><li><a href="#method.new">new</a></li><li><a href="#method.next_index">next_index</a></li><li><a href="#method.next_unused_spk">next_unused_spk</a></li><li><a href="#method.outpoints">outpoints</a></li><li><a href="#method.reveal_next_spk">reveal_next_spk</a></li><li><a href="#method.reveal_to_target">reveal_to_target</a></li><li><a href="#method.reveal_to_target_multi">reveal_to_target_multi</a></li><li><a href="#method.revealed_keychain_spks">revealed_keychain_spks</a></li><li><a href="#method.revealed_spks">revealed_spks</a></li><li><a href="#method.sent_and_received">sent_and_received</a></li><li><a href="#method.spk_at_index">spk_at_index</a></li><li><a href="#method.txout">txout</a></li><li><a href="#method.txouts">txouts</a></li><li><a href="#method.txouts_in_tx">txouts_in_tx</a></li><li><a href="#method.unbounded_spk_iter">unbounded_spk_iter</a></li><li><a href="#method.unmark_used">unmark_used</a></li><li><a href="#method.unused_keychain_spks">unused_keychain_spks</a></li><li><a href="#method.unused_spks">unused_spks</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-KeychainTxOutIndex%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-KeychainTxOutIndex%3CK%3E">Debug</a></li><li><a href="#impl-Default-for-KeychainTxOutIndex%3CK%3E">Default</a></li><li><a href="#impl-Indexer-for-KeychainTxOutIndex%3CK%3E">Indexer</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-KeychainTxOutIndex%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-KeychainTxOutIndex%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-KeychainTxOutIndex%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-KeychainTxOutIndex%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-KeychainTxOutIndex%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-KeychainTxOutIndex%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::keychain</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="struct" href="#">KeychainTxOutIndex</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain/txout_index.rs.html#121-128">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct KeychainTxOutIndex<K> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> controls how script pubkeys are revealed for multiple keychains, and
-indexes [<code>TxOut</code>]s with them.</p>
-<p>A single keychain is a chain of script pubkeys derived from a single <a href="crate::miniscript::Descriptor"><code>Descriptor</code></a>. Keychains
-are identified using the <code>K</code> generic. Script pubkeys are identified by the keychain that they
-are derived from <code>K</code>, as well as the derivation index <code>u32</code>.</p>
-<p>There is a strict 1-to-1 relationship between descriptors and keychains. Each keychain has one
-and only one descriptor and each descriptor has one and only one keychain. The
-<a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::KeychainTxOutIndex::insert_descriptor"><code>insert_descriptor</code></a> method will return an error if you try and violate this invariant. This
-rule is a proxy for a stronger rule: no two descriptors should produce the same script pubkey.
-Having two descriptors produce the same script pubkey should cause whichever keychain derives
-the script pubkey first to be the effective owner of it but you should not rely on this
-behaviour. ⚠ It is up you, the developer, not to violate this invariant.</p>
-<h2 id="revealed-script-pubkeys"><a class="doc-anchor" href="#revealed-script-pubkeys">§</a>Revealed script pubkeys</h2>
-<p>Tracking how script pubkeys are revealed is useful for collecting chain data. For example, if
-the user has requested 5 script pubkeys (to receive money with), we only need to use those
-script pubkeys to scan for chain data.</p>
-<p>Call <a href="struct.KeychainTxOutIndex.html#method.reveal_to_target" title="method bdk_chain::keychain::KeychainTxOutIndex::reveal_to_target"><code>reveal_to_target</code></a> or <a href="struct.KeychainTxOutIndex.html#method.reveal_next_spk" title="method bdk_chain::keychain::KeychainTxOutIndex::reveal_next_spk"><code>reveal_next_spk</code></a> to reveal more script pubkeys.
-Call <a href="struct.KeychainTxOutIndex.html#method.revealed_keychain_spks" title="method bdk_chain::keychain::KeychainTxOutIndex::revealed_keychain_spks"><code>revealed_keychain_spks</code></a> or <a href="struct.KeychainTxOutIndex.html#method.revealed_spks" title="method bdk_chain::keychain::KeychainTxOutIndex::revealed_spks"><code>revealed_spks</code></a> to iterate through revealed script pubkeys.</p>
-<h2 id="lookahead-script-pubkeys"><a class="doc-anchor" href="#lookahead-script-pubkeys">§</a>Lookahead script pubkeys</h2>
-<p>When an user first recovers a wallet (i.e. from a recovery phrase and/or descriptor), we will
-NOT have knowledge of which script pubkeys are revealed. So when we index a transaction or
-txout (using <a href="struct.KeychainTxOutIndex.html#method.index_tx" title="method bdk_chain::keychain::KeychainTxOutIndex::index_tx"><code>index_tx</code></a>/<a href="struct.KeychainTxOutIndex.html#method.index_txout" title="method bdk_chain::keychain::KeychainTxOutIndex::index_txout"><code>index_txout</code></a>) we scan the txouts against script pubkeys derived
-above the last revealed index. These additionally-derived script pubkeys are called the
-lookahead.</p>
-<p>The <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> is constructed with the <code>lookahead</code> and cannot be altered. See
-<a href="constant.DEFAULT_LOOKAHEAD.html" title="constant bdk_chain::keychain::DEFAULT_LOOKAHEAD"><code>DEFAULT_LOOKAHEAD</code></a> for the value used in the <code>Default</code> implementation. Use <a href="struct.KeychainTxOutIndex.html#method.new" title="associated function bdk_chain::keychain::KeychainTxOutIndex::new"><code>new</code></a> to set a
-custom <code>lookahead</code>.</p>
-<h2 id="unbounded-script-pubkey-iterator"><a class="doc-anchor" href="#unbounded-script-pubkey-iterator">§</a>Unbounded script pubkey iterator</h2>
-<p>For script-pubkey-based chain sources (such as Electrum/Esplora), an initial scan is best done
-by iterating though derived script pubkeys one by one and requesting transaction histories for
-each script pubkey. We will stop after x-number of script pubkeys have empty histories. An
-unbounded script pubkey iterator is useful to pass to such a chain source because it doesn’t
-require holding a reference to the index.</p>
-<p>Call <a href="struct.KeychainTxOutIndex.html#method.unbounded_spk_iter" title="method bdk_chain::keychain::KeychainTxOutIndex::unbounded_spk_iter"><code>unbounded_spk_iter</code></a> to get an unbounded script pubkey iterator for a given keychain.
-Call <a href="struct.KeychainTxOutIndex.html#method.all_unbounded_spk_iters" title="method bdk_chain::keychain::KeychainTxOutIndex::all_unbounded_spk_iters"><code>all_unbounded_spk_iters</code></a> to get unbounded script pubkey iterators for all keychains.</p>
-<h2 id="change-sets"><a class="doc-anchor" href="#change-sets">§</a>Change sets</h2>
-<p>Methods that can update the last revealed index or add keychains will return <a href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet"><code>ChangeSet</code></a> to report
-these changes. This should be persisted for future recovery.</p>
-<h3 id="synopsis"><a class="doc-anchor" href="#synopsis">§</a>Synopsis</h3>
-<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bdk_chain::keychain::KeychainTxOutIndex;
-
-<span class="comment">// imagine our service has internal and external addresses but also addresses for users
-</span><span class="attr">#[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd)]
-</span><span class="kw">enum </span>MyKeychain {
- External,
- Internal,
- MyAppUser {
- user_id: u32
- }
-}
-
-<span class="kw">let </span><span class="kw-2">mut </span>txout_index = KeychainTxOutIndex::<MyKeychain>::default();
-
-<span class="kw">let _ </span>= txout_index.insert_descriptor(MyKeychain::External, external_descriptor)<span class="question-mark">?</span>;
-<span class="kw">let _ </span>= txout_index.insert_descriptor(MyKeychain::Internal, internal_descriptor)<span class="question-mark">?</span>;
-<span class="kw">let _ </span>= txout_index.insert_descriptor(MyKeychain::MyAppUser { user_id: <span class="number">42 </span>}, descriptor_42)<span class="question-mark">?</span>;
-
-<span class="kw">let </span>new_spk_for_user = txout_index.reveal_next_spk(<span class="kw-2">&</span>MyKeychain::MyAppUser{ user_id: <span class="number">42 </span>});</code></pre></div>
-</div></details><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-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#183-204">source</a><a href="#impl-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#194-203">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(lookahead: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> with the given <code>lookahead</code>.</p>
-<p>The <code>lookahead</code> is the number of script pubkeys to derive and cache from the internal
-descriptors over and above the last revealed script index. Without a lookahead the index
-will miss outputs you own when processing transactions whose output script pubkeys lie
-beyond the last revealed index. In certain situations, such as when performing an initial
-scan of the blockchain during wallet import, it may be uncertain or unknown what the index
-of the last revealed script pubkey actually is.</p>
-<p>Refer to <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">struct-level docs</a> for more about <code>lookahead</code>.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-KeychainTxOutIndex%3CK%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#207-334">source</a><a href="#impl-KeychainTxOutIndex%3CK%3E-1" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="docblock"><p>Methods that are <em>re-exposed</em> from the internal <a href="../struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex"><code>SpkTxOutIndex</code></a>.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inner" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#212-214">source</a><h4 class="code-header">pub fn <a href="#method.inner" class="fn">inner</a>(&self) -> &<a class="struct" href="../struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><(K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)></h4></section></summary><div class="docblock"><p>Return a reference to the internal <a href="../struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex"><code>SpkTxOutIndex</code></a>.</p>
-<p><strong>WARNING</strong>: The internal index will contain lookahead spks. Refer to
-<a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">struct-level docs</a> for more about <code>lookahead</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#217-219">source</a><h4 class="code-header">pub fn <a href="#method.outpoints" class="fn">outpoints</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, OutPoint>></h4></section></summary><div class="docblock"><p>Get the set of indexed outpoints, corresponding to tracked keychains.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#222-229">source</a><h4 class="code-header">pub fn <a href="#method.txouts" class="fn">txouts</a>(
- &self
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, (OutPoint, &TxOut)>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a></h4></section></summary><div class="docblock"><p>Iterate over known txouts that spend to tracked script pubkeys.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts_in_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#232-239">source</a><h4 class="code-header">pub fn <a href="#method.txouts_in_tx" class="fn">txouts_in_tx</a>(
- &self,
- txid: Txid
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, (OutPoint, &TxOut)>></h4></section></summary><div class="docblock"><p>Finds all txouts on a transaction that has previously been scanned and indexed.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txout" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#247-251">source</a><h4 class="code-header">pub fn <a href="#method.txout" class="fn">txout</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, &TxOut>></h4></section></summary><div class="docblock"><p>Return the [<code>TxOut</code>] of <code>outpoint</code> if it has been indexed, and if it corresponds to a
-tracked keychain.</p>
-<p>The associated keychain and keychain index of the txout’s spk is also returned.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.txout" title="method bdk_chain::SpkTxOutIndex::txout"><code>SpkTxOutIndex::txout</code></a> internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.spk_at_index" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#256-258">source</a><h4 class="code-header">pub fn <a href="#method.spk_at_index" class="fn">spk_at_index</a>(&self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&Script></h4></section></summary><div class="docblock"><p>Return the script that exists under the given <code>keychain</code>’s <code>index</code>.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.spk_at_index" title="method bdk_chain::SpkTxOutIndex::spk_at_index"><code>SpkTxOutIndex::spk_at_index</code></a> internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.index_of_spk" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#263-265">source</a><h4 class="code-header">pub fn <a href="#method.index_of_spk" class="fn">index_of_spk</a>(&self, script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(K, <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 keychain and keychain index associated with the spk.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.index_of_spk" title="method bdk_chain::SpkTxOutIndex::index_of_spk"><code>SpkTxOutIndex::index_of_spk</code></a> internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_used" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#273-275">source</a><h4 class="code-header">pub fn <a href="#method.is_used" class="fn">is_used</a>(&self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the spk under the <code>keychain</code>’s <code>index</code> has been used.</p>
-<p>Here, “unused” means that after the script pubkey was stored in the index, the index has
-never scanned a transaction output with it.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.is_used" title="method bdk_chain::SpkTxOutIndex::is_used"><code>SpkTxOutIndex::is_used</code></a> internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_used" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#293-295">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Marks the script pubkey at <code>index</code> as used even though the tracker hasn’t seen an output
-with it.</p>
-<p>This only has an effect when the <code>index</code> had been added to <code>self</code> already and was unused.</p>
-<p>Returns whether the spk under the given <code>keychain</code> and <code>index</code> is successfully
-marked as used. Returns false either when there is no descriptor under the given
-keychain, or when the spk is already marked as used.</p>
-<p>This is useful when you want to reserve a script pubkey for something but don’t want to add
-the transaction output using it to the index yet. Other callers will consider <code>index</code> on
-<code>keychain</code> used until you call <a href="struct.KeychainTxOutIndex.html#method.unmark_used" title="method bdk_chain::keychain::KeychainTxOutIndex::unmark_used"><code>unmark_used</code></a>.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.mark_used" title="method bdk_chain::SpkTxOutIndex::mark_used"><code>SpkTxOutIndex::mark_used</code></a> internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#306-308">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, keychain: K, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Undoes the effect of <a href="struct.KeychainTxOutIndex.html#method.mark_used" title="method bdk_chain::keychain::KeychainTxOutIndex::mark_used"><code>mark_used</code></a>. Returns whether the <code>index</code> is inserted back into
-<code>unused</code>.</p>
-<p>Note that if <code>self</code> has scanned an output with this script pubkey, then this will have no
-effect.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.unmark_used" title="method bdk_chain::SpkTxOutIndex::unmark_used"><code>SpkTxOutIndex::unmark_used</code></a> internally.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.sent_and_received" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#315-322">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(
- &self,
- tx: &Transaction,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
-) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Computes the total value transfer effect <code>tx</code> has on the script pubkeys belonging to the
-keychains in <code>range</code>. Value is <em>sent</em> when a script pubkey in the <code>range</code> is on an input and
-<em>received</em> when it is on an output. For <code>sent</code> to be computed correctly, the output being
-spent must have already been scanned by the index. Calculating received just uses the
-[<code>Transaction</code>] outputs directly, so it will be correct even if it has not been scanned.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.net_value" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#331-333">source</a><h4 class="code-header">pub fn <a href="#method.net_value" class="fn">net_value</a>(
- &self,
- tx: &Transaction,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
-) -> SignedAmount</h4></section></summary><div class="docblock"><p>Computes the net value that this transaction gives to the script pubkeys in the index and
-<em>takes</em> from the transaction outputs in the index. Shorthand for calling
-<a href="struct.KeychainTxOutIndex.html#method.sent_and_received" title="method bdk_chain::keychain::KeychainTxOutIndex::sent_and_received"><code>sent_and_received</code></a> and subtracting sent from received.</p>
-<p>This calls <a href="../struct.SpkTxOutIndex.html#method.net_value" title="method bdk_chain::SpkTxOutIndex::net_value"><code>SpkTxOutIndex::net_value</code></a> internally.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-KeychainTxOutIndex%3CK%3E-2" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#336-804">source</a><a href="#impl-KeychainTxOutIndex%3CK%3E-2" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.keychains" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#338-345">source</a><h4 class="code-header">pub fn <a href="#method.keychains" class="fn">keychains</a>(
- &self
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>, &Descriptor<DescriptorPublicKey>)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a> + '_</h4></section></summary><div class="docblock"><p>Return all keychains and their corresponding descriptors.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_descriptor" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#362-403">source</a><h4 class="code-header">pub fn <a href="#method.insert_descriptor" class="fn">insert_descriptor</a>(
- &mut self,
- keychain: K,
- descriptor: Descriptor<DescriptorPublicKey>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>, <a class="enum" href="enum.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError">InsertDescriptorError</a><K>></h4></section></summary><div class="docblock"><p>Insert a descriptor with a keychain associated to it.</p>
-<p>Adding a descriptor means you will be able to derive new script pubkeys under it and the
-txout index will discover transaction outputs with those script pubkeys (once they’ve been
-derived and added to the index).</p>
-<p>keychain <-> descriptor is a one-to-one mapping that cannot be changed. Attempting to do so
-will return a <a href="enum.InsertDescriptorError.html" title="enum bdk_chain::keychain::InsertDescriptorError"><code>InsertDescriptorError<K></code></a>.</p>
-<p><code>[KeychainTxOutIndex]</code> will prevent you from inserting two descriptors which derive the same
-script pubkey at index 0, but it’s up to you to ensure that descriptors don’t collide at
-other indices. If they do nothing catastrophic happens at the <code>KeychainTxOutIndex</code> level
-(one keychain just becomes the defacto owner of that spk arbitrarily) but this may have
-subtle implications up the application stack like one UTXO being missing from one keychain
-because it has been assigned to another which produces the same script pubkey.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_descriptor" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#407-410">source</a><h4 class="code-header">pub fn <a href="#method.get_descriptor" class="fn">get_descriptor</a>(
- &self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&Descriptor<DescriptorPublicKey>></h4></section></summary><div class="docblock"><p>Gets the descriptor associated with the keychain. Returns <code>None</code> if the keychain doesn’t
-have a descriptor associated with it.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.lookahead" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#417-419">source</a><h4 class="code-header">pub fn <a href="#method.lookahead" class="fn">lookahead</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></h4></section></summary><div class="docblock"><p>Get the lookahead setting.</p>
-<p>Refer to <a href="struct.KeychainTxOutIndex.html#method.new" title="associated function bdk_chain::keychain::KeychainTxOutIndex::new"><code>new</code></a> for more information on the <code>lookahead</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.lookahead_to_target" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#424-434">source</a><h4 class="code-header">pub fn <a href="#method.lookahead_to_target" class="fn">lookahead_to_target</a>(&mut self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>, target_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h4></section></summary><div class="docblock"><p>Store lookahead scripts until <code>target_index</code> (inclusive).</p>
-<p>This does not change the global <code>lookahead</code> setting.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unbounded_spk_iter" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#470-476">source</a><h4 class="code-header">pub fn <a href="#method.unbounded_spk_iter" class="fn">unbounded_spk_iter</a>(
- &self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../struct.SpkIterator.html" title="struct bdk_chain::SpkIterator">SpkIterator</a><Descriptor<DescriptorPublicKey>>></h4></section></summary><div class="docblock"><p>Get an unbounded spk iterator over a given <code>keychain</code>. Returns <code>None</code> if the provided
-keychain doesn’t exist</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.all_unbounded_spk_iters" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#479-491">source</a><h4 class="code-header">pub fn <a href="#method.all_unbounded_spk_iters" class="fn">all_unbounded_spk_iters</a>(
- &self
-) -> <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><K, <a class="struct" href="../struct.SpkIterator.html" title="struct bdk_chain::SpkIterator">SpkIterator</a><Descriptor<DescriptorPublicKey>>></h4></section></summary><div class="docblock"><p>Get unbounded spk iterators for all keychains.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.revealed_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#494-527">source</a><h4 class="code-header">pub fn <a href="#method.revealed_spks" class="fn">revealed_spks</a>(
- &self,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, &Script>></h4></section></summary><div class="docblock"><p>Iterate over revealed spks of keychains in <code>range</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.revealed_keychain_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#533-545">source</a><h4 class="code-header">pub fn <a href="#method.revealed_keychain_spks" class="fn">revealed_keychain_spks</a><'a>(
- &'a self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a K</a>
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><&Script>> + 'a</h4></section></summary><div class="docblock"><p>Iterate over revealed spks of the given <code>keychain</code> with ascending indices.</p>
-<p>This is a double ended iterator so you can easily reverse it to get an iterator where
-the script pubkeys that were most recently revealed are first.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unused_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#548-555">source</a><h4 class="code-header">pub fn <a href="#method.unused_spks" class="fn">unused_spks</a>(
- &self
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, &Script>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section></summary><div class="docblock"><p>Iterate over revealed, but unused, spks of all keychains.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unused_keychain_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#559-571">source</a><h4 class="code-header">pub fn <a href="#method.unused_keychain_spks" class="fn">unused_keychain_spks</a>(
- &self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><&Script>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section></summary><div class="docblock"><p>Iterate over revealed, but unused, spks of the given <code>keychain</code>.
-Returns an empty iterator if the provided keychain doesn’t exist.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.next_index" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#585-606">source</a><h4 class="code-header">pub fn <a href="#method.next_index" class="fn">next_index</a>(&self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)></h4></section></summary><div class="docblock"><p>Get the next derivation index for <code>keychain</code>. The next index is the index after the last revealed
-derivation index.</p>
-<p>The second field in the returned tuple represents whether the next derivation index is new.
-There are two scenarios where the next derivation index is reused (not new):</p>
-<ol>
-<li>The keychain’s descriptor has no wildcard, and a script has already been revealed.</li>
-<li>The number of revealed scripts has already reached 2^31 (refer to BIP-32).</li>
-</ol>
-<p>Not checking the second field of the tuple may result in address reuse.</p>
-<p>Returns None if the provided <code>keychain</code> doesn’t exist.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.last_revealed_indices" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#611-619">source</a><h4 class="code-header">pub fn <a href="#method.last_revealed_indices" class="fn">last_revealed_indices</a>(&self) -> <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><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></h4></section></summary><div class="docblock"><p>Get the last derivation index that is revealed for each keychain.</p>
-<p>Keychains with no revealed indices will not be included in the returned <a href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap"><code>BTreeMap</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.last_revealed_index" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#623-626">source</a><h4 class="code-header">pub fn <a href="#method.last_revealed_index" class="fn">last_revealed_index</a>(&self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></h4></section></summary><div class="docblock"><p>Get the last derivation index revealed for <code>keychain</code>. Returns None if the keychain doesn’t
-exist, or if the keychain doesn’t have any revealed scripts.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_to_target_multi" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#629-639">source</a><h4 class="code-header">pub fn <a href="#method.reveal_to_target_multi" class="fn">reveal_to_target_multi</a>(
- &mut self,
- keychains: &<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><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>
-) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h4></section></summary><div class="docblock"><p>Convenience method to call <a href="struct.KeychainTxOutIndex.html#method.reveal_to_target" title="method bdk_chain::keychain::KeychainTxOutIndex::reveal_to_target"><code>Self::reveal_to_target</code></a> on multiple keychains.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_to_target" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#654-675">source</a><h4 class="code-header">pub fn <a href="#method.reveal_to_target" class="fn">reveal_to_target</a>(
- &mut self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>,
- target_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>>, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>)></h4></section></summary><div class="docblock"><p>Reveals script pubkeys of the <code>keychain</code>’s descriptor <strong>up to and including</strong> the
-<code>target_index</code>.</p>
-<p>If the <code>target_index</code> cannot be reached (due to the descriptor having no wildcard and/or
-the <code>target_index</code> is in the hardened index range), this method will make a best-effort and
-reveal up to the last possible index.</p>
-<p>This returns list of newly revealed indices (alongside their scripts) and a
-<a href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet"><code>ChangeSet</code></a>, which reports updates to the latest revealed index. If no new script
-pubkeys are revealed, then both of these will be empty.</p>
-<p>Returns None if the provided <code>keychain</code> doesn’t exist.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_next_spk" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#689-704">source</a><h4 class="code-header">pub fn <a href="#method.reveal_next_spk" class="fn">reveal_next_spk</a>(
- &mut self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>)></h4></section></summary><div class="docblock"><p>Attempts to reveal the next script pubkey for <code>keychain</code>.</p>
-<p>Returns the derivation index of the revealed script pubkey, the revealed script pubkey and a
-<a href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet"><code>ChangeSet</code></a> which represents changes in the last revealed index (if any).
-Returns None if the provided keychain doesn’t exist.</p>
-<p>When a new script cannot be revealed, we return the last revealed script and an empty
-<a href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet"><code>ChangeSet</code></a>. There are two scenarios when a new script pubkey cannot be derived:</p>
-<ol>
-<li>The descriptor has no wildcard and already has one script revealed.</li>
-<li>The descriptor has already revealed scripts up to the numeric bound.</li>
-<li>There is no descriptor associated with the given keychain.</li>
-</ol>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.next_unused_spk" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#719-726">source</a><h4 class="code-header">pub fn <a href="#method.next_unused_spk" class="fn">next_unused_spk</a>(
- &mut self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>, <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>)></h4></section></summary><div class="docblock"><p>Gets the next unused script pubkey in the keychain. I.e., the script pubkey with the lowest
-index that has not been used yet.</p>
-<p>This will derive and reveal a new script pubkey if no more unused script pubkeys exist.</p>
-<p>If the descriptor has no wildcard and already has a used script pubkey or if a descriptor
-has used all scripts up to the derivation bounds, then the last derived script pubkey will be
-returned.</p>
-<p>Returns <code>None</code> if there are no script pubkeys that have been used and no new script pubkey
-could be revealed (see <a href="struct.KeychainTxOutIndex.html#method.reveal_next_spk" title="method bdk_chain::keychain::KeychainTxOutIndex::reveal_next_spk"><code>reveal_next_spk</code></a> for when this happens).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.keychain_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#730-736">source</a><h4 class="code-header">pub fn <a href="#method.keychain_outpoints" class="fn">keychain_outpoints</a><'a>(
- &'a self,
- keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a K</a>
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><OutPoint>> + 'a</h4></section></summary><div class="docblock"><p>Iterate over all [<code>OutPoint</code>]s that have <code>TxOut</code>s with script pubkeys derived from
-<code>keychain</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.keychain_outpoints_in_range" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#739-746">source</a><h4 class="code-header">pub fn <a href="#method.keychain_outpoints_in_range" class="fn">keychain_outpoints_in_range</a><'a>(
- &'a self,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K> + 'a
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="type" href="type.KeychainIndexed.html" title="type bdk_chain::keychain::KeychainIndexed">KeychainIndexed</a><K, OutPoint>> + 'a</h4></section></summary><div class="docblock"><p>Iterate over [<code>OutPoint</code>]s that have script pubkeys derived from keychains in <code>range</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.last_used_index" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#765-767">source</a><h4 class="code-header">pub fn <a href="#method.last_used_index" class="fn">last_used_index</a>(&self, keychain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&K</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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 highest derivation index of the <code>keychain</code> where <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> has
-found a [<code>TxOut</code>] with it’s script pubkey.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.last_used_indices" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#771-779">source</a><h4 class="code-header">pub fn <a href="#method.last_used_indices" class="fn">last_used_indices</a>(&self) -> <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><K, <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 highest derivation index of each keychain that <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a> has found
-a [<code>TxOut</code>] with it’s script pubkey.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#786-803">source</a><h4 class="code-header">pub fn <a href="#method.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>)</h4></section></summary><div class="docblock"><p>Applies the <code>ChangeSet<K></code> to the <a href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex"><code>KeychainTxOutIndex<K></code></a></p>
-<p>Keychains added by the <code>keychains_added</code> field of <code>ChangeSet<K></code> respect the one-to-one
-keychain <-> descriptor invariant by silently ignoring attempts to violate it (but will
-panic if <code>debug_assertions</code> are enabled).</p>
-</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-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#120">source</a><a href="#impl-Clone-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#120">source</a><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>(&self) -> <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#120">source</a><a href="#impl-Debug-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#120">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#130-134">source</a><a href="#impl-Default-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#131-133">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#136-181">source</a><a href="#impl-Indexer-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="../indexed_tx_graph/trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a> for <a class="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ChangeSet" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet" class="anchor">§</a><h4 class="code-header">type <a href="../indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h4></section></summary><div class='docblock'>The resultant “changeset” when new transaction data is indexed.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_txout" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#139-153">source</a><a href="#method.index_txout" class="anchor">§</a><h4 class="code-header">fn <a href="../indexed_tx_graph/trait.Indexer.html#tymethod.index_txout" class="fn">index_txout</a>(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::<a class="associatedtype" href="../indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scan and index the given <code>outpoint</code> and <code>txout</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_tx" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#155-162">source</a><a href="#method.index_tx" class="anchor">§</a><h4 class="code-header">fn <a href="../indexed_tx_graph/trait.Indexer.html#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="../indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scans a transaction for relevant outpoints, which are stored and indexed internally.</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#164-172">source</a><a href="#method.initial_changeset" class="anchor">§</a><h4 class="code-header">fn <a href="../indexed_tx_graph/trait.Indexer.html#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="../indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Determines the <a href="../indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="../indexed_tx_graph/trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#174-176">source</a><a href="#method.apply_changeset-1" class="anchor">§</a><h4 class="code-header">fn <a href="../indexed_tx_graph/trait.Indexer.html#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: Self::<a class="associatedtype" href="../indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>)</h4></section></summary><div class='docblock'>Apply changeset to itself.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_tx_relevant" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#178-180">source</a><a href="#method.is_tx_relevant" class="anchor">§</a><h4 class="code-header">fn <a href="../indexed_tx_graph/trait.Indexer.html#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Determines whether the transaction should be included in the index.</div></details></div></details></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-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Freeze-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K></h3></section><section id="impl-RefUnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
- K: <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>,</div></h3></section><section id="impl-Send-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Send-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Sync-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-Unpin-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-KeychainTxOutIndex%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K><div class="where">where
- K: <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> + <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>,</div></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<T> <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
- 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
- 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
- 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
-<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</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<T> <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
- 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="The keychain doesn’t exist. Most likley hasn’t been inserted with `KeychainTxOutIndex::insert_descriptor`."><title>NoSuchKeychain in bdk_chain::keychain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">NoSuchKeychain</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-NoSuchKeychain%3CK%3E">Clone</a></li><li><a href="#impl-Debug-for-NoSuchKeychain%3CK%3E">Debug</a></li><li><a href="#impl-Display-for-NoSuchKeychain%3CK%3E">Display</a></li><li><a href="#impl-Eq-for-NoSuchKeychain%3CK%3E">Eq</a></li><li><a href="#impl-PartialEq-for-NoSuchKeychain%3CK%3E">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-NoSuchKeychain%3CK%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-NoSuchKeychain%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-NoSuchKeychain%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-NoSuchKeychain%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-NoSuchKeychain%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-NoSuchKeychain%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-NoSuchKeychain%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::keychain</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="struct" href="#">NoSuchKeychain</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain/txout_index.rs.html#940">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct NoSuchKeychain<K>(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The keychain doesn’t exist. Most likley hasn’t been inserted with <a href="struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor</code></a>.</p>
-</div></details><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-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><a href="#impl-Clone-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><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>(&self) -> <a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><a href="#impl-Debug-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><a href="#method.fmt-1" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Display-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#942-946">source</a><a href="#impl-Display-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#943-945">source</a><a href="#method.fmt" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-PartialEq-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><a href="#impl-PartialEq-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><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>(&self, other: &<a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K>) -> <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
-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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><a href="#impl-Eq-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <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/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></h3></section><section id="impl-StructuralPartialEq-for-NoSuchKeychain%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain/txout_index.rs.html#938">source</a><a href="#impl-StructuralPartialEq-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K></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-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Freeze-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
- K: <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>,</div></h3></section><section id="impl-Send-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Send-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Sync-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-Unpin-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
- K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-NoSuchKeychain%3CK%3E" class="impl"><a href="#impl-UnwindSafe-for-NoSuchKeychain%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.NoSuchKeychain.html" title="struct bdk_chain::keychain::NoSuchKeychain">NoSuchKeychain</a><K><div class="where">where
- K: <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>,</div></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<T> <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
- 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
- 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
- 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
-<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</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<T> <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
- 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <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
- 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>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta http-equiv="refresh" content="0;URL=../../../bdk_chain/keychain/constant.DEFAULT_LOOKAHEAD.html">
- <title>Redirection</title>
-</head>
-<body>
- <p>Redirecting to <a href="../../../bdk_chain/keychain/constant.DEFAULT_LOOKAHEAD.html">../../../bdk_chain/keychain/constant.DEFAULT_LOOKAHEAD.html</a>...</p>
- <script>location.replace("../../../bdk_chain/keychain/constant.DEFAULT_LOOKAHEAD.html" + location.search + location.hash);</script>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta http-equiv="refresh" content="0;URL=../../../bdk_chain/keychain/enum.InsertDescriptorError.html">
- <title>Redirection</title>
-</head>
-<body>
- <p>Redirecting to <a href="../../../bdk_chain/keychain/enum.InsertDescriptorError.html">../../../bdk_chain/keychain/enum.InsertDescriptorError.html</a>...</p>
- <script>location.replace("../../../bdk_chain/keychain/enum.InsertDescriptorError.html" + location.search + location.hash);</script>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta http-equiv="refresh" content="0;URL=../../../bdk_chain/keychain/struct.ChangeSet.html">
- <title>Redirection</title>
-</head>
-<body>
- <p>Redirecting to <a href="../../../bdk_chain/keychain/struct.ChangeSet.html">../../../bdk_chain/keychain/struct.ChangeSet.html</a>...</p>
- <script>location.replace("../../../bdk_chain/keychain/struct.ChangeSet.html" + location.search + location.hash);</script>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta http-equiv="refresh" content="0;URL=../../../bdk_chain/keychain/struct.KeychainTxOutIndex.html">
- <title>Redirection</title>
-</head>
-<body>
- <p>Redirecting to <a href="../../../bdk_chain/keychain/struct.KeychainTxOutIndex.html">../../../bdk_chain/keychain/struct.KeychainTxOutIndex.html</a>...</p>
- <script>location.replace("../../../bdk_chain/keychain/struct.KeychainTxOutIndex.html" + location.search + location.hash);</script>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta http-equiv="refresh" content="0;URL=../../../bdk_chain/keychain/struct.NoSuchKeychain.html">
- <title>Redirection</title>
-</head>
-<body>
- <p>Redirecting to <a href="../../../bdk_chain/keychain/struct.NoSuchKeychain.html">../../../bdk_chain/keychain/struct.NoSuchKeychain.html</a>...</p>
- <script>location.replace("../../../bdk_chain/keychain/struct.NoSuchKeychain.html" + location.search + location.hash);</script>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!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 tuple of keychain index and `T` representing the indexed value."><title>Indexed in bdk_chain::keychain - 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Indexed</a></h2><div class="sidebar-elems"><h2><a href="index.html">In bdk_chain::keychain</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>Type Alias <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="type" href="#">Indexed</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain.rs.html#53">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type Indexed<T> = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, T);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A tuple of keychain index and <code>T</code> representing the indexed value.</p>
-</div></details></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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 tuple of keychain `K`, derivation index (`u32`) and a `T` associated with them."><title>KeychainIndexed in bdk_chain::keychain - 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">KeychainIndexed</a></h2><div class="sidebar-elems"><h2><a href="index.html">In bdk_chain::keychain</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>Type Alias <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">keychain</a>::<wbr><a class="type" href="#">KeychainIndexed</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain.rs.html#55">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type KeychainIndexed<K, T> = ((K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>), T);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A tuple of keychain <code>K</code>, derivation index (<code>u32</code>) and a <code>T</code> associated with them.</p>
-</div></details></section></div></main></body></html>
\ No newline at end of file
-window.SIDEBAR_ITEMS = {"constant":["BIP32_MAX_INDEX","COINBASE_MATURITY"],"enum":["ChainPosition","ConfirmationTime"],"externcrate":["serde"],"mod":["indexed_tx_graph","keychain","local_chain","spk_client","tx_graph"],"struct":["BlockId","CombinedChangeSet","ConfirmationHeightAnchor","ConfirmationTimeHeightAnchor","DescriptorId","FullTxOut","SpkIterator","SpkTxOutIndex"],"trait":["Anchor","AnchorFromBlockPosition","Append","ChainOracle","DescriptorExt"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"constant":["BIP32_MAX_INDEX","COINBASE_MATURITY"],"enum":["ChainPosition","ConfirmationTime"],"externcrate":["serde"],"mod":["indexed_tx_graph","indexer","local_chain","spk_client","tx_graph"],"struct":["Balance","BlockId","CombinedChangeSet","ConfirmationHeightAnchor","ConfirmationTimeHeightAnchor","DescriptorId","FullTxOut","SpkIterator"],"trait":["Anchor","AnchorFromBlockPosition","Append","ChainOracle","DescriptorExt"],"type":["Indexed","KeychainIndexed"]};
\ No newline at end of file
-<!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="Helper types for spk-based blockchain clients."><title>bdk_chain::spk_client - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module spk_client</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">spk_client</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#1-389">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Helper types for spk-based blockchain clients.</p>
+<!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="Helper types for spk-based blockchain clients."><title>bdk_chain::spk_client - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module spk_client</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">spk_client</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#1-388">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Helper types for spk-based blockchain clients.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a></div><div class="desc docblock-short">Data required to perform a spk-based blockchain client full scan.</div></li><li><div class="item-name"><a class="struct" href="struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a></div><div class="desc docblock-short">Data returned from a spk-based blockchain client full scan.</div></li><li><div class="item-name"><a class="struct" href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a></div><div class="desc docblock-short">Data required to perform a spk-based blockchain client sync.</div></li><li><div class="item-name"><a class="struct" href="struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a></div><div class="desc docblock-short">Data returned from a spk-based blockchain client sync.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
-<!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="Data required to perform a spk-based blockchain client full scan."><title>FullScanRequest in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">FullScanRequest</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_tip">chain_tip</a></li><li><a href="#structfield.spks_by_keychain">spks_by_keychain</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.chain_spks_for_keychain">chain_spks_for_keychain</a></li><li><a href="#method.from_chain_tip">from_chain_tip</a></li><li><a href="#method.from_keychain_txout_index">from_keychain_txout_index</a></li><li><a href="#method.inspect_spks_for_all_keychains">inspect_spks_for_all_keychains</a></li><li><a href="#method.inspect_spks_for_keychain">inspect_spks_for_keychain</a></li><li><a href="#method.set_spks_for_keychain">set_spks_for_keychain</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-FullScanRequest%3CK%3E">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-FullScanRequest%3CK%3E">!Sync</a></li><li><a href="#impl-UnwindSafe-for-FullScanRequest%3CK%3E">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-FullScanRequest%3CK%3E">Freeze</a></li><li><a href="#impl-Send-for-FullScanRequest%3CK%3E">Send</a></li><li><a href="#impl-Unpin-for-FullScanRequest%3CK%3E">Unpin</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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">FullScanRequest</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#193-201">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct FullScanRequest<K> {
+<!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="Data required to perform a spk-based blockchain client full scan."><title>FullScanRequest in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">FullScanRequest</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_tip">chain_tip</a></li><li><a href="#structfield.spks_by_keychain">spks_by_keychain</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.chain_spks_for_keychain">chain_spks_for_keychain</a></li><li><a href="#method.from_chain_tip">from_chain_tip</a></li><li><a href="#method.from_keychain_txout_index">from_keychain_txout_index</a></li><li><a href="#method.inspect_spks_for_all_keychains">inspect_spks_for_all_keychains</a></li><li><a href="#method.inspect_spks_for_keychain">inspect_spks_for_keychain</a></li><li><a href="#method.set_spks_for_keychain">set_spks_for_keychain</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-FullScanRequest%3CK%3E">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-FullScanRequest%3CK%3E">!Sync</a></li><li><a href="#impl-UnwindSafe-for-FullScanRequest%3CK%3E">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-FullScanRequest%3CK%3E">Freeze</a></li><li><a href="#impl-Send-for-FullScanRequest%3CK%3E">Send</a></li><li><a href="#impl-Unpin-for-FullScanRequest%3CK%3E">Unpin</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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">FullScanRequest</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#192-200">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct FullScanRequest<K> {
pub chain_tip: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,
- pub spks_by_keychain: <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><K, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>>,
+ pub spks_by_keychain: <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><K, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Data required to perform a spk-based blockchain client full scan.</p>
<p>A client full scan iterates through all the scripts for the given keychains, fetching relevant
data until some stop gap number of scripts is found that have no data. This operation is
used scripts is not known. The full scan process also updates the chain from the given <a href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint"><code>CheckPoint</code></a>.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chain_tip" class="structfield section-header"><a href="#structfield.chain_tip" class="anchor field">§</a><code>chain_tip: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a></code></span><div class="docblock"><p>A checkpoint for the current <a href="../local_chain/struct.LocalChain.html#method.tip" title="method bdk_chain::local_chain::LocalChain::tip"><code>LocalChain::tip</code></a>.
The full scan process will return a new chain update that extends this tip.</p>
-</div><span id="structfield.spks_by_keychain" class="structfield section-header"><a href="#structfield.spks_by_keychain" class="anchor field">§</a><code>spks_by_keychain: <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><K, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>></code></span><div class="docblock"><p>Iterators of script pubkeys indexed by the keychain index.</p>
-</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-FullScanRequest%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#203-316">source</a><a href="#impl-FullScanRequest%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <a class="struct" href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_chain_tip" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#206-211">source</a><h4 class="code-header">pub fn <a href="#method.from_chain_tip" class="fn">from_chain_tip</a>(chain_tip: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a> from a given <code>chain_tip</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.from_keychain_txout_index" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#222-234">source</a><h4 class="code-header">pub fn <a href="#method.from_keychain_txout_index" class="fn">from_keychain_txout_index</a>(
+</div><span id="structfield.spks_by_keychain" class="structfield section-header"><a href="#structfield.spks_by_keychain" class="anchor field">§</a><code>spks_by_keychain: <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><K, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>></code></span><div class="docblock"><p>Iterators of script pubkeys indexed by the keychain index.</p>
+</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-FullScanRequest%3CK%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#202-315">source</a><a href="#impl-FullScanRequest%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <a class="struct" href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_chain_tip" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#205-210">source</a><h4 class="code-header">pub fn <a href="#method.from_chain_tip" class="fn">from_chain_tip</a>(chain_tip: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a> from a given <code>chain_tip</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.from_keychain_txout_index" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#221-233">source</a><h4 class="code-header">pub fn <a href="#method.from_keychain_txout_index" class="fn">from_keychain_txout_index</a>(
chain_tip: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,
- index: &<a class="struct" href="../keychain/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K>
+ index: &<a class="struct" href="../indexer/keychain_txout/struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K>
) -> Self<div class="where">where
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,</div></h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a> from a given <code>chain_tip</code> and <code>index</code>.</p>
<p>Unbounded script pubkey iterators for each keychain (<code>K</code>) are extracted using
-<a href="../keychain/struct.KeychainTxOutIndex.html#method.all_unbounded_spk_iters" title="method bdk_chain::keychain::KeychainTxOutIndex::all_unbounded_spk_iters"><code>KeychainTxOutIndex::all_unbounded_spk_iters</code></a> and is used to populate the
+<a href="../indexer/keychain_txout/struct.KeychainTxOutIndex.html#method.all_unbounded_spk_iters" title="method bdk_chain::indexer::keychain_txout::KeychainTxOutIndex::all_unbounded_spk_iters"><code>KeychainTxOutIndex::all_unbounded_spk_iters</code></a> and is used to populate the
<a href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_spks_for_keychain" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#240-248">source</a><h4 class="code-header">pub fn <a href="#method.set_spks_for_keychain" class="fn">set_spks_for_keychain</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_spks_for_keychain" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#239-247">source</a><h4 class="code-header">pub fn <a href="#method.set_spks_for_keychain" class="fn">set_spks_for_keychain</a>(
self,
keychain: K,
- spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
+ spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
) -> Self</h4></section></summary><div class="docblock"><p>Set the [<code>Script</code>]s for a given <code>keychain</code>.</p>
<p>This consumes the <a href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_spks_for_keychain" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#254-271">source</a><h4 class="code-header">pub fn <a href="#method.chain_spks_for_keychain" class="fn">chain_spks_for_keychain</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_spks_for_keychain" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#253-270">source</a><h4 class="code-header">pub fn <a href="#method.chain_spks_for_keychain" class="fn">chain_spks_for_keychain</a>(
self,
keychain: K,
- spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
+ spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../type.Indexed.html" title="type bdk_chain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
) -> Self</h4></section></summary><div class="docblock"><p>Chain on additional [<code>Script</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_spks_for_all_keychains" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#278-293">source</a><h4 class="code-header">pub fn <a href="#method.inspect_spks_for_all_keychains" class="fn">inspect_spks_for_all_keychains</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_spks_for_all_keychains" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#277-292">source</a><h4 class="code-header">pub fn <a href="#method.inspect_spks_for_all_keychains" class="fn">inspect_spks_for_all_keychains</a>(
self,
inspect: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, &Script) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'static
) -> Self<div class="where">where
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Add a closure that will be called for every [<code>Script</code>] previously added to any keychain in
this request.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_spks_for_keychain" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#300-315">source</a><h4 class="code-header">pub fn <a href="#method.inspect_spks_for_keychain" class="fn">inspect_spks_for_keychain</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_spks_for_keychain" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#299-314">source</a><h4 class="code-header">pub fn <a href="#method.inspect_spks_for_keychain" class="fn">inspect_spks_for_keychain</a>(
self,
keychain: K,
inspect: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, &Script) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static
-<!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="Data returned from a spk-based blockchain client full scan."><title>FullScanResult in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">FullScanResult</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_update">chain_update</a></li><li><a href="#structfield.graph_update">graph_update</a></li><li><a href="#structfield.last_active_indices">last_active_indices</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-FullScanResult%3CK,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-FullScanResult%3CK,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-FullScanResult%3CK,+A%3E">Send</a></li><li><a href="#impl-Sync-for-FullScanResult%3CK,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-FullScanResult%3CK,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-FullScanResult%3CK,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">FullScanResult</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#321-328">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct FullScanResult<K, A = <a class="struct" href="../struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>> {
+<!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="Data returned from a spk-based blockchain client full scan."><title>FullScanResult in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">FullScanResult</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_update">chain_update</a></li><li><a href="#structfield.graph_update">graph_update</a></li><li><a href="#structfield.last_active_indices">last_active_indices</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-FullScanResult%3CK,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-FullScanResult%3CK,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-FullScanResult%3CK,+A%3E">Send</a></li><li><a href="#impl-Sync-for-FullScanResult%3CK,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-FullScanResult%3CK,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-FullScanResult%3CK,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">FullScanResult</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#320-327">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct FullScanResult<K, A = <a class="struct" href="../struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>> {
pub graph_update: <a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>,
pub chain_update: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,
pub last_active_indices: <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><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>,
-<!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="Data required to perform a spk-based blockchain client sync."><title>SyncRequest in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">SyncRequest</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_tip">chain_tip</a></li><li><a href="#structfield.outpoints">outpoints</a></li><li><a href="#structfield.spks">spks</a></li><li><a href="#structfield.txids">txids</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.chain_outpoints">chain_outpoints</a></li><li><a href="#method.chain_spks">chain_spks</a></li><li><a href="#method.chain_txids">chain_txids</a></li><li><a href="#method.from_chain_tip">from_chain_tip</a></li><li><a href="#method.inspect_outpoints">inspect_outpoints</a></li><li><a href="#method.inspect_spks">inspect_spks</a></li><li><a href="#method.inspect_txids">inspect_txids</a></li><li><a href="#method.populate_with_revealed_spks">populate_with_revealed_spks</a></li><li><a href="#method.set_outpoints">set_outpoints</a></li><li><a href="#method.set_spks">set_spks</a></li><li><a href="#method.set_txids">set_txids</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-SyncRequest">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-SyncRequest">!Sync</a></li><li><a href="#impl-UnwindSafe-for-SyncRequest">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-SyncRequest">Freeze</a></li><li><a href="#impl-Send-for-SyncRequest">Send</a></li><li><a href="#impl-Unpin-for-SyncRequest">Unpin</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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">SyncRequest</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#15-27">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SyncRequest {
+<!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="Data required to perform a spk-based blockchain client sync."><title>SyncRequest in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">SyncRequest</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_tip">chain_tip</a></li><li><a href="#structfield.outpoints">outpoints</a></li><li><a href="#structfield.spks">spks</a></li><li><a href="#structfield.txids">txids</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.chain_outpoints">chain_outpoints</a></li><li><a href="#method.chain_spks">chain_spks</a></li><li><a href="#method.chain_txids">chain_txids</a></li><li><a href="#method.from_chain_tip">from_chain_tip</a></li><li><a href="#method.inspect_outpoints">inspect_outpoints</a></li><li><a href="#method.inspect_spks">inspect_spks</a></li><li><a href="#method.inspect_txids">inspect_txids</a></li><li><a href="#method.populate_with_revealed_spks">populate_with_revealed_spks</a></li><li><a href="#method.set_outpoints">set_outpoints</a></li><li><a href="#method.set_spks">set_spks</a></li><li><a href="#method.set_txids">set_txids</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-SyncRequest">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-SyncRequest">!Sync</a></li><li><a href="#impl-UnwindSafe-for-SyncRequest">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-SyncRequest">Freeze</a></li><li><a href="#impl-Send-for-SyncRequest">Send</a></li><li><a href="#impl-Unpin-for-SyncRequest">Unpin</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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">SyncRequest</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#14-26">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SyncRequest {
pub chain_tip: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,
pub spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,
pub txids: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,
</div><span id="structfield.spks" class="structfield section-header"><a href="#structfield.spks" class="anchor field">§</a><code>spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></code></span><div class="docblock"><p>Transactions that spend from or to these indexed script pubkeys.</p>
</div><span id="structfield.txids" class="structfield section-header"><a href="#structfield.txids" class="anchor field">§</a><code>txids: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></code></span><div class="docblock"><p>Transactions with these txids.</p>
</div><span id="structfield.outpoints" class="structfield section-header"><a href="#structfield.outpoints" class="anchor field">§</a><code>outpoints: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></code></span><div class="docblock"><p>Transactions with these outpoints or spent from these outpoints.</p>
-</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-SyncRequest" class="impl"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#29-175">source</a><a href="#impl-SyncRequest" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_chain_tip" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#31-38">source</a><h4 class="code-header">pub fn <a href="#method.from_chain_tip" class="fn">from_chain_tip</a>(cp: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> from a given <code>cp</code> tip.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#44-50">source</a><h4 class="code-header">pub fn <a href="#method.set_spks" class="fn">set_spks</a>(
+</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-SyncRequest" class="impl"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#28-174">source</a><a href="#impl-SyncRequest" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_chain_tip" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#30-37">source</a><h4 class="code-header">pub fn <a href="#method.from_chain_tip" class="fn">from_chain_tip</a>(cp: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> from a given <code>cp</code> tip.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#43-49">source</a><h4 class="code-header">pub fn <a href="#method.set_spks" class="fn">set_spks</a>(
self,
spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
) -> Self</h4></section></summary><div class="docblock"><p>Set the [<code>Script</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_txids" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#56-62">source</a><h4 class="code-header">pub fn <a href="#method.set_txids" class="fn">set_txids</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_txids" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#55-61">source</a><h4 class="code-header">pub fn <a href="#method.set_txids" class="fn">set_txids</a>(
self,
txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
) -> Self</h4></section></summary><div class="docblock"><p>Set the [<code>Txid</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#68-76">source</a><h4 class="code-header">pub fn <a href="#method.set_outpoints" class="fn">set_outpoints</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#67-75">source</a><h4 class="code-header">pub fn <a href="#method.set_outpoints" class="fn">set_outpoints</a>(
self,
outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static>
) -> Self</h4></section></summary><div class="docblock"><p>Set the [<code>OutPoint</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#82-91">source</a><h4 class="code-header">pub fn <a href="#method.chain_spks" class="fn">chain_spks</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#81-90">source</a><h4 class="code-header">pub fn <a href="#method.chain_spks" class="fn">chain_spks</a>(
self,
spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static, Item = ScriptBuf>
) -> Self</h4></section></summary><div class="docblock"><p>Chain on additional [<code>Script</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_txids" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#97-106">source</a><h4 class="code-header">pub fn <a href="#method.chain_txids" class="fn">chain_txids</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_txids" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#96-105">source</a><h4 class="code-header">pub fn <a href="#method.chain_txids" class="fn">chain_txids</a>(
self,
txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static, Item = Txid>
) -> Self</h4></section></summary><div class="docblock"><p>Chain on additional [<code>Txid</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#112-121">source</a><h4 class="code-header">pub fn <a href="#method.chain_outpoints" class="fn">chain_outpoints</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.chain_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#111-120">source</a><h4 class="code-header">pub fn <a href="#method.chain_outpoints" class="fn">chain_outpoints</a>(
self,
outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static, Item = OutPoint>
) -> Self</h4></section></summary><div class="docblock"><p>Chain on additional [<code>OutPoint</code>]s that will be synced against.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#127-133">source</a><h4 class="code-header">pub fn <a href="#method.inspect_spks" class="fn">inspect_spks</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#126-132">source</a><h4 class="code-header">pub fn <a href="#method.inspect_spks" class="fn">inspect_spks</a>(
self,
inspect: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Script) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static
) -> Self</h4></section></summary><div class="docblock"><p>Add a closure that will be called for [<code>Script</code>]s previously added to this request.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_txids" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#139-142">source</a><h4 class="code-header">pub fn <a href="#method.inspect_txids" class="fn">inspect_txids</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_txids" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#138-141">source</a><h4 class="code-header">pub fn <a href="#method.inspect_txids" class="fn">inspect_txids</a>(
self,
inspect: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Txid) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static
) -> Self</h4></section></summary><div class="docblock"><p>Add a closure that will be called for [<code>Txid</code>]s previously added to this request.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#148-154">source</a><h4 class="code-header">pub fn <a href="#method.inspect_outpoints" class="fn">inspect_outpoints</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.inspect_outpoints" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#147-153">source</a><h4 class="code-header">pub fn <a href="#method.inspect_outpoints" class="fn">inspect_outpoints</a>(
self,
inspect: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&OutPoint) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static
) -> Self</h4></section></summary><div class="docblock"><p>Add a closure that will be called for [<code>OutPoint</code>]s previously added to this request.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.populate_with_revealed_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#161-174">source</a><h4 class="code-header">pub fn <a href="#method.populate_with_revealed_spks" class="fn">populate_with_revealed_spks</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.populate_with_revealed_spks" class="method"><a class="src rightside" href="../../src/bdk_chain/spk_client.rs.html#160-173">source</a><h4 class="code-header">pub fn <a href="#method.populate_with_revealed_spks" class="fn">populate_with_revealed_spks</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>>(
self,
- index: &<a class="struct" href="../keychain/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::KeychainTxOutIndex">KeychainTxOutIndex</a><K>,
+ index: &<a class="struct" href="../indexer/keychain_txout/struct.KeychainTxOutIndex.html" title="struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex">KeychainTxOutIndex</a><K>,
spk_range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><K>
) -> Self</h4></section></summary><div class="docblock"><p>Populate the request with revealed script pubkeys from <code>index</code> with the given <code>spk_range</code>.</p>
<p>This consumes the <a href="struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> and returns the updated one.</p>
-<!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="Data returned from a spk-based blockchain client sync."><title>SyncResult in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">SyncResult</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_update">chain_update</a></li><li><a href="#structfield.graph_update">graph_update</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SyncResult%3CA%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SyncResult%3CA%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SyncResult%3CA%3E">Send</a></li><li><a href="#impl-Sync-for-SyncResult%3CA%3E">Sync</a></li><li><a href="#impl-Unpin-for-SyncResult%3CA%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SyncResult%3CA%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">SyncResult</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#180-185">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SyncResult<A = <a class="struct" href="../struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>> {
+<!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="Data returned from a spk-based blockchain client sync."><title>SyncResult in bdk_chain::spk_client - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">SyncResult</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_update">chain_update</a></li><li><a href="#structfield.graph_update">graph_update</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SyncResult%3CA%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SyncResult%3CA%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SyncResult%3CA%3E">Send</a></li><li><a href="#impl-Sync-for-SyncResult%3CA%3E">Sync</a></li><li><a href="#impl-Unpin-for-SyncResult%3CA%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SyncResult%3CA%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::spk_client</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">spk_client</a>::<wbr><a class="struct" href="#">SyncResult</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/spk_client.rs.html#179-184">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SyncResult<A = <a class="struct" href="../struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>> {
pub graph_update: <a class="struct" href="../tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>,
pub chain_update: <a class="struct" href="../local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Data returned from a spk-based blockchain client sync.</p>
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta http-equiv="refresh" content="0;URL=../../bdk_chain/struct.SpkTxOutIndex.html">
- <title>Redirection</title>
-</head>
-<body>
- <p>Redirecting to <a href="../../bdk_chain/struct.SpkTxOutIndex.html">../../bdk_chain/struct.SpkTxOutIndex.html</a>...</p>
- <script>location.replace("../../bdk_chain/struct.SpkTxOutIndex.html" + location.search + location.hash);</script>
-</body>
-</html>
\ No newline at end of file
--- /dev/null
+<!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="Balance, differentiated into various categories."><title>Balance in bdk_chain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Balance</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.confirmed">confirmed</a></li><li><a href="#structfield.immature">immature</a></li><li><a href="#structfield.trusted_pending">trusted_pending</a></li><li><a href="#structfield.untrusted_pending">untrusted_pending</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.total">total</a></li><li><a href="#method.trusted_spendable">trusted_spendable</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add-for-Balance">Add</a></li><li><a href="#impl-Clone-for-Balance">Clone</a></li><li><a href="#impl-Debug-for-Balance">Debug</a></li><li><a href="#impl-Default-for-Balance">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Balance">Deserialize<'de></a></li><li><a href="#impl-Display-for-Balance">Display</a></li><li><a href="#impl-Eq-for-Balance">Eq</a></li><li><a href="#impl-PartialEq-for-Balance">PartialEq</a></li><li><a href="#impl-Serialize-for-Balance">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Balance">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Balance">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Balance">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Balance">Send</a></li><li><a href="#impl-Sync-for-Balance">Sync</a></li><li><a href="#impl-Unpin-for-Balance">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Balance">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_chain</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>Struct <a href="index.html">bdk_chain</a>::<wbr><a class="struct" href="#">Balance</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/balance.rs.html#10-19">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Balance {
+ pub immature: Amount,
+ pub trusted_pending: Amount,
+ pub untrusted_pending: Amount,
+ pub confirmed: Amount,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Balance, differentiated into various categories.</p>
+</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.immature" class="structfield section-header"><a href="#structfield.immature" class="anchor field">§</a><code>immature: Amount</code></span><div class="docblock"><p>All coinbase outputs not yet matured</p>
+</div><span id="structfield.trusted_pending" class="structfield section-header"><a href="#structfield.trusted_pending" class="anchor field">§</a><code>trusted_pending: Amount</code></span><div class="docblock"><p>Unconfirmed UTXOs generated by a wallet tx</p>
+</div><span id="structfield.untrusted_pending" class="structfield section-header"><a href="#structfield.untrusted_pending" class="anchor field">§</a><code>untrusted_pending: Amount</code></span><div class="docblock"><p>Unconfirmed UTXOs received from an external wallet</p>
+</div><span id="structfield.confirmed" class="structfield section-header"><a href="#structfield.confirmed" class="anchor field">§</a><code>confirmed: Amount</code></span><div class="docblock"><p>Confirmed and immediately spendable balance</p>
+</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-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#21-34">source</a><a href="#impl-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.trusted_spendable" class="method"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#26-28">source</a><h4 class="code-header">pub fn <a href="#method.trusted_spendable" class="fn">trusted_spendable</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get sum of trusted_pending and confirmed coins.</p>
+<p>This is the balance you can spend right now that shouldn’t get cancelled via another party
+double spending it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.total" class="method"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#31-33">source</a><h4 class="code-header">pub fn <a href="#method.total" class="fn">total</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get the whole balance visible to the wallet.</p>
+</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-Add-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#46-57">source</a><a href="#impl-Add-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#49-56">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add" class="fn">add</a>(self, other: Self) -> Self</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#impl-Clone-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><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>(&self) -> <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#impl-Debug-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#impl-Default-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#7">source</a><a href="#impl-Deserialize%3C'de%3E-for-Balance" class="anchor">§</a><h3 class="code-header">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#7">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#36-44">source</a><a href="#impl-Display-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</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 class="src rightside" href="../src/bdk_chain/balance.rs.html#37-43">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-PartialEq-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#impl-PartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><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>(&self, other: &<a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a>) -> <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
+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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#7">source</a><a href="#impl-Serialize-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#7">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
+ __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Eq-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#impl-Eq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section><section id="impl-StructuralPartialEq-for-Balance" class="impl"><a class="src rightside" href="../src/bdk_chain/balance.rs.html#4">source</a><a href="#impl-StructuralPartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</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-Balance" class="impl"><a href="#impl-Freeze-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section><section id="impl-RefUnwindSafe-for-Balance" class="impl"><a href="#impl-RefUnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section><section id="impl-Send-for-Balance" class="impl"><a href="#impl-Send-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section><section id="impl-Sync-for-Balance" class="impl"><a href="#impl-Sync-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section><section id="impl-Unpin-for-Balance" class="impl"><a href="#impl-Unpin-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h3></section><section id="impl-UnwindSafe-for-Balance" class="impl"><a href="#impl-UnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_chain::Balance">Balance</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<T> <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
+ 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
+ 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
+ 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
+</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<T> <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
+ 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <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
+ 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>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
+ V: MultiLane<T>,</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) -> V</h4></section></div></details><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.203/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
+ T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></div></section></div></main></body></html>
\ No newline at end of file
-<!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 changeset containing `crate` structures typically persisted together."><title>CombinedChangeSet in bdk_chain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">CombinedChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain">chain</a></li><li><a href="#structfield.indexed_tx_graph">indexed_tx_graph</a></li><li><a href="#structfield.network">network</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Append-for-CombinedChangeSet%3CK,+A%3E">Append</a></li><li><a href="#impl-Clone-for-CombinedChangeSet%3CK,+A%3E">Clone</a></li><li><a href="#impl-Debug-for-CombinedChangeSet%3CK,+A%3E">Debug</a></li><li><a href="#impl-Default-for-CombinedChangeSet%3CK,+A%3E">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E">Deserialize<'de></a></li><li><a href="#impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<BTreeMap<u32, Option<BlockHash>>></a></li><li><a href="#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<ChangeSet<A, ChangeSet<K>>></a></li><li><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<ChangeSet<K>></a></li><li><a href="#impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E">PartialEq</a></li><li><a href="#impl-Serialize-for-CombinedChangeSet%3CK,+A%3E">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-CombinedChangeSet%3CK,+A%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CombinedChangeSet%3CK,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CombinedChangeSet%3CK,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CombinedChangeSet%3CK,+A%3E">Send</a></li><li><a href="#impl-Sync-for-CombinedChangeSet%3CK,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-CombinedChangeSet%3CK,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CombinedChangeSet%3CK,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_chain</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>Struct <a href="index.html">bdk_chain</a>::<wbr><a class="struct" href="#">CombinedChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/changeset.rs.html#15-22">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CombinedChangeSet<K, A> {
+<!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 changeset containing `crate` structures typically persisted together."><title>CombinedChangeSet in bdk_chain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">CombinedChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain">chain</a></li><li><a href="#structfield.indexed_tx_graph">indexed_tx_graph</a></li><li><a href="#structfield.network">network</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Append-for-CombinedChangeSet%3CK,+A%3E">Append</a></li><li><a href="#impl-Clone-for-CombinedChangeSet%3CK,+A%3E">Clone</a></li><li><a href="#impl-Debug-for-CombinedChangeSet%3CK,+A%3E">Debug</a></li><li><a href="#impl-Default-for-CombinedChangeSet%3CK,+A%3E">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E">Deserialize<'de></a></li><li><a href="#impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<BTreeMap<u32, Option<BlockHash>>></a></li><li><a href="#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<ChangeSet<A, ChangeSet<K>>></a></li><li><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E">From<ChangeSet<K>></a></li><li><a href="#impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E">PartialEq</a></li><li><a href="#impl-Serialize-for-CombinedChangeSet%3CK,+A%3E">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-CombinedChangeSet%3CK,+A%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CombinedChangeSet%3CK,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CombinedChangeSet%3CK,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CombinedChangeSet%3CK,+A%3E">Send</a></li><li><a href="#impl-Sync-for-CombinedChangeSet%3CK,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-CombinedChangeSet%3CK,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CombinedChangeSet%3CK,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_chain</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>Struct <a href="index.html">bdk_chain</a>::<wbr><a class="struct" href="#">CombinedChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/changeset.rs.html#15-23">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CombinedChangeSet<K, A> {
pub chain: <a class="type" href="local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>,
- pub indexed_tx_graph: <a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>>,
+ pub indexed_tx_graph: <a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>>,
pub network: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Network>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A changeset containing <a href="index.html" title="mod bdk_chain"><code>crate</code></a> structures typically persisted together.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chain" class="structfield section-header"><a href="#structfield.chain" class="anchor field">§</a><code>chain: <a class="type" href="local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a></code></span><div class="docblock"><p>Changes to the <a href="local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>LocalChain</code></a>.</p>
-</div><span id="structfield.indexed_tx_graph" class="structfield section-header"><a href="#structfield.indexed_tx_graph" class="anchor field">§</a><code>indexed_tx_graph: <a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>></code></span><div class="docblock"><p>Changes to <a href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
+</div><span id="structfield.indexed_tx_graph" class="structfield section-header"><a href="#structfield.indexed_tx_graph" class="anchor field">§</a><code>indexed_tx_graph: <a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>></code></span><div class="docblock"><p>Changes to <a href="indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
</div><span id="structfield.network" class="structfield section-header"><a href="#structfield.network" class="anchor field">§</a><code>network: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Network></code></span><div class="docblock"><p>Stores the network type of the transaction data.</p>
-</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-Append-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#36-52">source</a><a href="#impl-Append-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#37-47">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#49-51">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><a href="#impl-Clone-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><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>(&self) -> <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><a href="#impl-Debug-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#25-33">source</a><a href="#impl-Default-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#26-32">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#6">source</a><a href="#impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'de, K, A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A><div class="where">where
+</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-Append-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#37-53">source</a><a href="#impl-Append-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#38-48">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#50-52">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><a href="#impl-Clone-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><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>(&self) -> <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><a href="#impl-Debug-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#26-34">source</a><a href="#impl-Default-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#27-33">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#6">source</a><a href="#impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'de, K, A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#6">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
- __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#55-62">source</a><a href="#impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BlockHash>>> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, 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 class="src rightside" href="../src/bdk_chain/changeset.rs.html#56-61">source</a><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>(chain: <a class="type" href="local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>) -> Self</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%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#65-76">source</a><a href="#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>>> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, 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 class="src rightside" href="../src/bdk_chain/changeset.rs.html#68-75">source</a><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>(indexed_tx_graph: <a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>>) -> Self</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%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#79-89">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#80-88">source</a><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>(indexer: <a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K>) -> Self</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-PartialEq-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><a href="#impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><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>(&self, other: &<a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A>) -> <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
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#56-63">source</a><a href="#impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BlockHash>>> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, 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 class="src rightside" href="../src/bdk_chain/changeset.rs.html#57-62">source</a><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>(chain: <a class="type" href="local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>) -> Self</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%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#66-80">source</a><a href="#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>>> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, 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 class="src rightside" href="../src/bdk_chain/changeset.rs.html#69-79">source</a><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>(indexed_tx_graph: <a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>>) -> Self</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%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#83-93">source</a><a href="#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#84-92">source</a><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>(indexer: <a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K>) -> Self</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-PartialEq-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><a href="#impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#3">source</a><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>(&self, other: &<a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#6">source</a><a href="#impl-Serialize-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,
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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details></div><script type="text/json" id="notable-traits-data">{"SpkIterator<D>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D></code></h3><pre><code><div class=\"where\">impl<D> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Descriptor<DescriptorPublicKey>>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"type\" href=\"keychain/type.Indexed.html\" title=\"type bdk_chain::keychain::Indexed\">Indexed</a><ScriptBuf>;</div>"}</script></section></div></main></body></html>
\ No newline at end of file
+ V: MultiLane<T>,</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) -> V</h4></section></div></details></div><script type="text/json" id="notable-traits-data">{"SpkIterator<D>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D></code></h3><pre><code><div class=\"where\">impl<D> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Descriptor<DescriptorPublicKey>>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"type\" href=\"type.Indexed.html\" title=\"type bdk_chain::Indexed\">Indexed</a><ScriptBuf>;</div>"}</script></section></div></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An index storing `TxOut`s that have a script pubkey that matches those in a list."><title>SpkTxOutIndex in bdk_chain - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">SpkTxOutIndex</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all_spks">all_spks</a></li><li><a href="#method.index_of_spk">index_of_spk</a></li><li><a href="#method.insert_spk">insert_spk</a></li><li><a href="#method.is_relevant">is_relevant</a></li><li><a href="#method.is_used">is_used</a></li><li><a href="#method.mark_used">mark_used</a></li><li><a href="#method.net_value">net_value</a></li><li><a href="#method.outpoints">outpoints</a></li><li><a href="#method.outputs_in_range">outputs_in_range</a></li><li><a href="#method.scan">scan</a></li><li><a href="#method.scan_txout">scan_txout</a></li><li><a href="#method.sent_and_received">sent_and_received</a></li><li><a href="#method.spk_at_index">spk_at_index</a></li><li><a href="#method.txout">txout</a></li><li><a href="#method.txouts">txouts</a></li><li><a href="#method.txouts_in_tx">txouts_in_tx</a></li><li><a href="#method.unmark_used">unmark_used</a></li><li><a href="#method.unused_spks">unused_spks</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-SpkTxOutIndex%3CI%3E">Clone</a></li><li><a href="#impl-Debug-for-SpkTxOutIndex%3CI%3E">Debug</a></li><li><a href="#impl-Default-for-SpkTxOutIndex%3CI%3E">Default</a></li><li><a href="#impl-Indexer-for-SpkTxOutIndex%3CI%3E">Indexer</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SpkTxOutIndex%3CI%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SpkTxOutIndex%3CI%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SpkTxOutIndex%3CI%3E">Send</a></li><li><a href="#impl-Sync-for-SpkTxOutIndex%3CI%3E">Sync</a></li><li><a href="#impl-Unpin-for-SpkTxOutIndex%3CI%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SpkTxOutIndex%3CI%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_chain</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>Struct <a href="index.html">bdk_chain</a>::<wbr><a class="struct" href="#">SpkTxOutIndex</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/spk_txout_index.rs.html#30-41">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SpkTxOutIndex<I> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An index storing <a href="bitcoin::TxOut"><code>TxOut</code></a>s that have a script pubkey that matches those in a list.</p>
-<p>The basic idea is that you insert script pubkeys you care about into the index with
-<a href="struct.SpkTxOutIndex.html#method.insert_spk" title="method bdk_chain::SpkTxOutIndex::insert_spk"><code>insert_spk</code></a> and then when you call <a href="indexed_tx_graph/trait.Indexer.html#tymethod.index_tx" title="method bdk_chain::indexed_tx_graph::Indexer::index_tx"><code>Indexer::index_tx</code></a> or <a href="indexed_tx_graph/trait.Indexer.html#tymethod.index_txout" title="method bdk_chain::indexed_tx_graph::Indexer::index_txout"><code>Indexer::index_txout</code></a>, the
-index will look at any txouts you pass in and store and index any txouts matching one of its
-script pubkeys.</p>
-<p>Each script pubkey is associated with an application-defined index script index <code>I</code>, which must be
-<a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord"><code>Ord</code></a>. Usually, this is used to associate the derivation index of the script pubkey or even a
-combination of <code>(keychain, derivation_index)</code>.</p>
-<p>Note there is no harm in scanning transactions that disappear from the blockchain or were never
-in there in the first place. <code>SpkTxOutIndex</code> is intentionally <em>monotone</em> – you cannot delete or
-modify txouts that have been indexed. To find out which txouts from the index are actually in the
-chain or unspent, you must use other sources of information like a <a href="tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><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-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#79-332">source</a><a href="#impl-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.scan" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#87-98">source</a><h4 class="code-header">pub fn <a href="#method.scan" class="fn">scan</a>(&mut self, tx: &Transaction) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><I></h4></section></summary><div class="docblock"><p>Scans a transaction’s outputs for matching script pubkeys.</p>
-<p>Typically, this is used in two situations:</p>
-<ol>
-<li>After loading transaction data from the disk, you may scan over all the txouts to restore all
-your txouts.</li>
-<li>When getting new data from the chain, you usually scan it before incorporating it into your chain state.</li>
-</ol>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.scan_txout" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#102-110">source</a><h4 class="code-header">pub fn <a href="#method.scan_txout" class="fn">scan_txout</a>(&mut self, op: OutPoint, txout: &TxOut) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>></h4></section></summary><div class="docblock"><p>Scan a single <code>TxOut</code> for a matching script pubkey and returns the index that matches the
-script pubkey (if any).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.outpoints" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#113-115">source</a><h4 class="code-header">pub fn <a href="#method.outpoints" class="fn">outpoints</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><(I, OutPoint)></h4></section></summary><div class="docblock"><p>Get a reference to the set of indexed outpoints.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#118-124">source</a><h4 class="code-header">pub fn <a href="#method.txouts" class="fn">txouts</a>(
- &self
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, OutPoint, &TxOut)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a></h4></section></summary><div class="docblock"><p>Iterate over all known txouts that spend to tracked script pubkeys.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txouts_in_tx" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#127-134">source</a><h4 class="code-header">pub fn <a href="#method.txouts_in_tx" class="fn">txouts_in_tx</a>(
- &self,
- txid: Txid
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Finds all txouts on a transaction that has previously been scanned and indexed.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.outputs_in_range" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#137-165">source</a><h4 class="code-header">pub fn <a href="#method.outputs_in_range" class="fn">outputs_in_range</a>(
- &self,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, OutPoint)></h4></section></summary><div class="docblock"><p>Iterates over all the outputs with script pubkeys in an index range.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txout" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#170-172">source</a><h4 class="code-header">pub fn <a href="#method.txout" class="fn">txout</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, &TxOut)></h4></section></summary><div class="docblock"><p>Returns the txout and script pubkey index of the <code>TxOut</code> at <code>OutPoint</code>.</p>
-<p>Returns <code>None</code> if the <code>TxOut</code> hasn’t been scanned or if nothing matching was found there.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.spk_at_index" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#177-179">source</a><h4 class="code-header">pub fn <a href="#method.spk_at_index" class="fn">spk_at_index</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&Script></h4></section></summary><div class="docblock"><p>Returns the script that has been inserted at the <code>index</code>.</p>
-<p>If that index hasn’t been inserted yet, it will return <code>None</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.all_spks" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#182-184">source</a><h4 class="code-header">pub fn <a href="#method.all_spks" class="fn">all_spks</a>(&self) -> &<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><I, ScriptBuf></h4></section></summary><div class="docblock"><p>The script pubkeys that are being tracked by the index.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_spk" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#189-199">source</a><h4 class="code-header">pub fn <a href="#method.insert_spk" class="fn">insert_spk</a>(&mut self, index: I, spk: ScriptBuf) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Adds a script pubkey to scan for. Returns <code>false</code> and does nothing if spk already exists in the map</p>
-<p>the index will look for outputs spending to this spk whenever it scans new data.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unused_spks" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#218-225">source</a><h4 class="code-header">pub fn <a href="#method.unused_spks" class="fn">unused_spks</a><R>(
- &self,
- range: R
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>, &Script)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a><div class="where">where
- R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>,</div></h4></section></summary><div class="docblock"><p>Iterates over all unused script pubkeys in an index range.</p>
-<p>Here, “unused” means that after the script pubkey was stored in the index, the index has
-never scanned a transaction output with it.</p>
-<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
-<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
-<span class="comment">// imagine our spks are indexed like (keychain, derivation_index).
-</span><span class="kw">let </span>txout_index = SpkTxOutIndex::<(u32, u32)>::default();
-<span class="kw">let </span>all_unused_spks = txout_index.unused_spks(..);
-<span class="kw">let </span>change_index = <span class="number">1</span>;
-<span class="kw">let </span>unused_change_spks =
- txout_index.unused_spks((change_index, u32::MIN)..(change_index, u32::MAX));</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_used" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#231-233">source</a><h4 class="code-header">pub fn <a href="#method.is_used" class="fn">is_used</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the script pubkey at <code>index</code> has been used or not.</p>
-<p>Here, “unused” means that after the script pubkey was stored in the index, the index has
-never scanned a transaction output with it.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_used" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#245-247">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Marks the script pubkey at <code>index</code> as used even though it hasn’t seen an output spending to it.
-This only affects when the <code>index</code> had already been added to <code>self</code> and was unused.</p>
-<p>Returns whether the <code>index</code> was initially present as <code>unused</code>.</p>
-<p>This is useful when you want to reserve a script pubkey for something but don’t want to add
-the transaction output using it to the index yet. Other callers will consider the <code>index</code> used
-until you call <a href="struct.SpkTxOutIndex.html#method.unmark_used" title="method bdk_chain::SpkTxOutIndex::unmark_used"><code>unmark_used</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#256-266">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Undoes the effect of <a href="struct.SpkTxOutIndex.html#method.mark_used" title="method bdk_chain::SpkTxOutIndex::mark_used"><code>mark_used</code></a>. Returns whether the <code>index</code> is inserted back into
-<code>unused</code>.</p>
-<p>Note that if <code>self</code> has scanned an output with this script pubkey then this will have no
-effect.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.index_of_spk" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#269-271">source</a><h4 class="code-header">pub fn <a href="#method.index_of_spk" class="fn">index_of_spk</a>(&self, script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&I</a>></h4></section></summary><div class="docblock"><p>Returns the index associated with the script pubkey.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.sent_and_received" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#278-302">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(
- &self,
- tx: &Transaction,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>
-) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Computes the total value transfer effect <code>tx</code> has on the script pubkeys in <code>range</code>. Value is
-<em>sent</em> when a script pubkey in the <code>range</code> is on an input and <em>received</em> when it is on an
-output. For <code>sent</code> to be computed correctly, the output being spent must have already been
-scanned by the index. Calculating received just uses the [<code>Transaction</code>] outputs directly,
-so it will be correct even if it has not been scanned.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.net_value" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#308-312">source</a><h4 class="code-header">pub fn <a href="#method.net_value" class="fn">net_value</a>(
- &self,
- tx: &Transaction,
- range: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a><I>
-) -> SignedAmount</h4></section></summary><div class="docblock"><p>Computes the net value transfer effect of <code>tx</code> on the script pubkeys in <code>range</code>. Shorthand
-for calling <a href="struct.SpkTxOutIndex.html#method.sent_and_received" title="method bdk_chain::SpkTxOutIndex::sent_and_received"><code>sent_and_received</code></a> and subtracting sent from received.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_relevant" class="method"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#321-331">source</a><h4 class="code-header">pub fn <a href="#method.is_relevant" class="fn">is_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether any of the inputs of this transaction spend a txout tracked or whether any output
-matches one of our script pubkeys.</p>
-<p>It is easily possible to misuse this method and get false negatives by calling it before you
-have scanned the <code>TxOut</code>s the transaction is spending. For example, if you want to filter out
-all the transactions in a block that are irrelevant, you <strong>must first scan all the
-transactions in the block</strong> and only then use this method.</p>
-</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-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#29">source</a><a href="#impl-Clone-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#29">source</a><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>(&self) -> <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#29">source</a><a href="#impl-Debug-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#29">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#43-53">source</a><a href="#impl-Default-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#44-52">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#55-77">source</a><a href="#impl-Indexer-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="indexed_tx_graph/trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer">Indexer</a> for <a class="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ChangeSet" class="associatedtype trait-impl"><a href="#associatedtype.ChangeSet" class="anchor">§</a><h4 class="code-header">type <a href="indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" class="associatedtype">ChangeSet</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></summary><div class='docblock'>The resultant “changeset” when new transaction data is indexed.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_txout" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#58-61">source</a><a href="#method.index_txout" class="anchor">§</a><h4 class="code-header">fn <a href="indexed_tx_graph/trait.Indexer.html#tymethod.index_txout" class="fn">index_txout</a>(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::<a class="associatedtype" href="indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scan and index the given <code>outpoint</code> and <code>txout</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.index_tx" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#63-66">source</a><a href="#method.index_tx" class="anchor">§</a><h4 class="code-header">fn <a href="indexed_tx_graph/trait.Indexer.html#tymethod.index_tx" class="fn">index_tx</a>(&mut self, tx: &Transaction) -> Self::<a class="associatedtype" href="indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Scans a transaction for relevant outpoints, which are stored and indexed internally.</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#68">source</a><a href="#method.initial_changeset" class="anchor">§</a><h4 class="code-header">fn <a href="indexed_tx_graph/trait.Indexer.html#tymethod.initial_changeset" class="fn">initial_changeset</a>(&self) -> Self::<a class="associatedtype" href="indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a></h4></section></summary><div class='docblock'>Determines the <a href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="indexed_tx_graph/trait.Indexer.html" title="trait bdk_chain::indexed_tx_graph::Indexer"><code>Indexer</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#70-72">source</a><a href="#method.apply_changeset" class="anchor">§</a><h4 class="code-header">fn <a href="indexed_tx_graph/trait.Indexer.html#tymethod.apply_changeset" class="fn">apply_changeset</a>(&mut self, _changeset: Self::<a class="associatedtype" href="indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet" title="type bdk_chain::indexed_tx_graph::Indexer::ChangeSet">ChangeSet</a>)</h4></section></summary><div class='docblock'>Apply changeset to itself.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_tx_relevant" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/spk_txout_index.rs.html#74-76">source</a><a href="#method.is_tx_relevant" class="anchor">§</a><h4 class="code-header">fn <a href="indexed_tx_graph/trait.Indexer.html#tymethod.is_tx_relevant" class="fn">is_tx_relevant</a>(&self, tx: &Transaction) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Determines whether the transaction should be included in the index.</div></details></div></details></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-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Freeze-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I></h3></section><section id="impl-RefUnwindSafe-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-RefUnwindSafe-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
- I: <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>,</div></h3></section><section id="impl-Send-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Send-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
- I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Sync-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
- I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-Unpin-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
- I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-SpkTxOutIndex%3CI%3E" class="impl"><a href="#impl-UnwindSafe-for-SpkTxOutIndex%3CI%3E" class="anchor">§</a><h3 class="code-header">impl<I> <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="struct" href="struct.SpkTxOutIndex.html" title="struct bdk_chain::SpkTxOutIndex">SpkTxOutIndex</a><I><div class="where">where
- I: <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> + <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>,</div></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<T> <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
- 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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
- 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
- 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-</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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
-<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
-</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<T> <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
- 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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</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.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" 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" 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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></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.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<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'>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<V, T> VZip<V> for T<div class="where">where
- V: MultiLane<T>,</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) -> V</h4></section></div></details></div></section></div></main></body></html>
\ No newline at end of file
T7: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>,
T8: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>,
T9: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>,
- T10: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>,</div></h3></section></summary><div class="impl-items"><section id="method.append-12" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#194">source</a><a href="#method.append-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.append" class="fn">append</a>(&mut self, _other: Self)</h4></section><section id="method.is_empty-12" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#194">source</a><a href="#method.is_empty-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Append-for-Vec%3CT%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#158-166">source</a><a href="#impl-Append-for-Vec%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><T></h3></section></summary><div class="impl-items"><section id="method.append-13" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#159-161">source</a><a href="#method.append-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section><section id="method.is_empty-13" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#163-165">source</a><a href="#method.is_empty-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Append-for-BTreeSet%3CT%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#146-156">source</a><a href="#impl-Append-for-BTreeSet%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><T></h3></section></summary><div class="impl-items"><section id="method.append-14" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#147-151">source</a><a href="#method.append-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section><section id="method.is_empty-14" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#153-155">source</a><a href="#method.is_empty-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Append-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/tx_graph.rs.html#1297-1321">source</a><a href="#impl-Append-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for bdk_chain::tx_graph::<a class="struct" href="tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section><section id="impl-Append-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/indexed_tx_graph.rs.html#302-311">source</a><a href="#impl-Append-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, IA: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for bdk_chain::indexed_tx_graph::<a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section><section id="impl-Append-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/keychain/txout_index.rs.html#885-927">source</a><a href="#impl-Append-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for bdk_chain::keychain::<a class="struct" href="keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><K></h3></section><section id="impl-Append-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#36-52">source</a><a href="#impl-Append-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></div><script src="../trait.impl/bdk_chain/tx_data_traits/trait.Append.js" data-ignore-extern-crates="alloc,std" async></script></section></div></main></body></html>
\ No newline at end of file
+ T10: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>,</div></h3></section></summary><div class="impl-items"><section id="method.append-12" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#194">source</a><a href="#method.append-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.append" class="fn">append</a>(&mut self, _other: Self)</h4></section><section id="method.is_empty-12" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#194">source</a><a href="#method.is_empty-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Append-for-Vec%3CT%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#158-166">source</a><a href="#impl-Append-for-Vec%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><T></h3></section></summary><div class="impl-items"><section id="method.append-13" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#159-161">source</a><a href="#method.append-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section><section id="method.is_empty-13" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#163-165">source</a><a href="#method.is_empty-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Append-for-BTreeSet%3CT%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#146-156">source</a><a href="#impl-Append-for-BTreeSet%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><T></h3></section></summary><div class="impl-items"><section id="method.append-14" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#147-151">source</a><a href="#method.append-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section><section id="method.is_empty-14" class="method trait-impl"><a class="src rightside" href="../src/bdk_chain/tx_data_traits.rs.html#153-155">source</a><a href="#method.is_empty-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Append-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/tx_graph.rs.html#1296-1320">source</a><a href="#impl-Append-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for bdk_chain::tx_graph::<a class="struct" href="tx_graph/struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section><section id="impl-Append-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/indexed_tx_graph.rs.html#302-311">source</a><a href="#impl-Append-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>, IA: <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for bdk_chain::indexed_tx_graph::<a class="struct" href="indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section><section id="impl-Append-for-ChangeSet%3CK%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/indexer/keychain_txout.rs.html#885-927">source</a><a href="#impl-Append-for-ChangeSet%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for bdk_chain::indexer::keychain_txout::<a class="struct" href="indexer/keychain_txout/struct.ChangeSet.html" title="struct bdk_chain::indexer::keychain_txout::ChangeSet">ChangeSet</a><K></h3></section><section id="impl-Append-for-CombinedChangeSet%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_chain/changeset.rs.html#37-53">source</a><a href="#impl-Append-for-CombinedChangeSet%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>> <a class="trait" href="trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.CombinedChangeSet.html" title="struct bdk_chain::CombinedChangeSet">CombinedChangeSet</a><K, A></h3></section></div><script src="../trait.impl/bdk_chain/tx_data_traits/trait.Append.js" data-ignore-extern-crates="alloc,std" async></script></section></div></main></body></html>
\ No newline at end of file
-<!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="Errors returned by `TxGraph::calculate_fee`."><title>CalculateFeeError in bdk_chain::tx_graph - 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">CalculateFeeError</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.MissingTxOut">MissingTxOut</a></li><li><a href="#variant.NegativeFee">NegativeFee</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-CalculateFeeError">Debug</a></li><li><a href="#impl-Display-for-CalculateFeeError">Display</a></li><li><a href="#impl-Eq-for-CalculateFeeError">Eq</a></li><li><a href="#impl-Error-for-CalculateFeeError">Error</a></li><li><a href="#impl-PartialEq-for-CalculateFeeError">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-CalculateFeeError">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CalculateFeeError">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CalculateFeeError">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CalculateFeeError">Send</a></li><li><a href="#impl-Sync-for-CalculateFeeError">Sync</a></li><li><a href="#impl-Unpin-for-CalculateFeeError">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CalculateFeeError">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToString-for-T">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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">tx_graph</a>::<wbr><a class="enum" href="#">CalculateFeeError</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#183-188">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub enum CalculateFeeError {
+<!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="Errors returned by `TxGraph::calculate_fee`."><title>CalculateFeeError in bdk_chain::tx_graph - 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">CalculateFeeError</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.MissingTxOut">MissingTxOut</a></li><li><a href="#variant.NegativeFee">NegativeFee</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-CalculateFeeError">Debug</a></li><li><a href="#impl-Display-for-CalculateFeeError">Display</a></li><li><a href="#impl-Eq-for-CalculateFeeError">Eq</a></li><li><a href="#impl-Error-for-CalculateFeeError">Error</a></li><li><a href="#impl-PartialEq-for-CalculateFeeError">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-CalculateFeeError">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CalculateFeeError">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CalculateFeeError">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CalculateFeeError">Send</a></li><li><a href="#impl-Sync-for-CalculateFeeError">Sync</a></li><li><a href="#impl-Unpin-for-CalculateFeeError">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CalculateFeeError">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToString-for-T">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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">tx_graph</a>::<wbr><a class="enum" href="#">CalculateFeeError</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#182-187">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub enum CalculateFeeError {
MissingTxOut(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><OutPoint>),
NegativeFee(SignedAmount),
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Errors returned by <code>TxGraph::calculate_fee</code>.</p>
</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.MissingTxOut" class="variant"><a href="#variant.MissingTxOut" class="anchor">§</a><h3 class="code-header">MissingTxOut(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><OutPoint>)</h3></section><div class="docblock"><p>Missing <code>TxOut</code> for one or more of the inputs of the tx</p>
</div><section id="variant.NegativeFee" class="variant"><a href="#variant.NegativeFee" class="anchor">§</a><h3 class="code-header">NegativeFee(SignedAmount)</h3></section><div class="docblock"><p>When the transaction is invalid according to the graph it has a negative fee</p>
-</div></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-Debug-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#182">source</a><a href="#impl-Debug-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</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 class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#182">source</a><a href="#method.fmt-1" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Display-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#190-205">source</a><a href="#impl-Display-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#191-204">source</a><a href="#method.fmt" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Error-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#208">source</a><a href="#impl-Error-for-CalculateFeeError" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> for <a class="enum" href="enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.source" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#84">source</a></span><a href="#method.source" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source" class="fn">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static)></h4></section></summary><div class='docblock'>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.description" 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/error.rs.html#110">source</a></span><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description" class="fn">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.42.0: use the Display impl or to_string()</span></div></span><div class='docblock'> <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cause" 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/error.rs.html#120">source</a></span><a href="#method.cause" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.cause" class="fn">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a>></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.33.0: replaced by Error::source, which can support downcasting</span></div></span></details><details class="toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#184">source</a><a href="#method.provide" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide" class="fn">provide</a><'a>(&'a self, request: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/error/struct.Request.html" title="struct core::error::Request">Request</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#182">source</a><a href="#impl-PartialEq-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#182">source</a><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>(&self, other: &<a class="enum" href="enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a>) -> <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
+</div></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-Debug-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#181">source</a><a href="#impl-Debug-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</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 class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#181">source</a><a href="#method.fmt-1" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Display-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#189-204">source</a><a href="#impl-Display-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#190-203">source</a><a href="#method.fmt" 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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Error-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#207">source</a><a href="#impl-Error-for-CalculateFeeError" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> for <a class="enum" href="enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.source" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#84">source</a></span><a href="#method.source" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source" class="fn">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static)></h4></section></summary><div class='docblock'>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.source">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.description" 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/error.rs.html#110">source</a></span><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description" class="fn">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.42.0: use the Display impl or to_string()</span></div></span><div class='docblock'> <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.description">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cause" 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/error.rs.html#120">source</a></span><a href="#method.cause" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.cause" class="fn">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a>></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.33.0: replaced by Error::source, which can support downcasting</span></div></span></details><details class="toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#184">source</a><a href="#method.provide" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide" class="fn">provide</a><'a>(&'a self, request: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/error/struct.Request.html" title="struct core::error::Request">Request</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#181">source</a><a href="#impl-PartialEq-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#181">source</a><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>(&self, other: &<a class="enum" href="enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#182">source</a><a href="#impl-Eq-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-StructuralPartialEq-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#182">source</a><a href="#impl-StructuralPartialEq-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</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-CalculateFeeError" class="impl"><a href="#impl-Freeze-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-RefUnwindSafe-for-CalculateFeeError" class="impl"><a href="#impl-RefUnwindSafe-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-Send-for-CalculateFeeError" class="impl"><a href="#impl-Send-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-Sync-for-CalculateFeeError" class="impl"><a href="#impl-Sync-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-Unpin-for-CalculateFeeError" class="impl"><a href="#impl-Unpin-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-UnwindSafe-for-CalculateFeeError" class="impl"><a href="#impl-UnwindSafe-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</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<T> <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
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#181">source</a><a href="#impl-Eq-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-StructuralPartialEq-for-CalculateFeeError" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#181">source</a><a href="#impl-StructuralPartialEq-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</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-CalculateFeeError" class="impl"><a href="#impl-Freeze-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-RefUnwindSafe-for-CalculateFeeError" class="impl"><a href="#impl-RefUnwindSafe-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-Send-for-CalculateFeeError" class="impl"><a href="#impl-Send-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-Sync-for-CalculateFeeError" class="impl"><a href="#impl-Sync-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-Unpin-for-CalculateFeeError" class="impl"><a href="#impl-Unpin-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a></h3></section><section id="impl-UnwindSafe-for-CalculateFeeError" class="impl"><a href="#impl-UnwindSafe-for-CalculateFeeError" 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.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-<!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="Module for structures that store and traverse transactions."><title>bdk_chain::tx_graph - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module tx_graph</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">tx_graph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1-1587">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Module for structures that store and traverse transactions.</p>
+<!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="Module for structures that store and traverse transactions."><title>bdk_chain::tx_graph - 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 mod"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Module tx_graph</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section><h2><a href="../index.html">In crate bdk_chain</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>Module <a href="../index.html">bdk_chain</a>::<wbr><a class="mod" href="#">tx_graph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1-1586">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Module for structures that store and traverse transactions.</p>
<p><a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> contains transactions and indexes them so you can easily traverse the graph of
those transactions. <code>TxGraph</code> is <em>monotone</em> in that you can always insert a transaction – it
does not care whether that transaction is in the current best chain or whether it conflicts with
-<!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 transaction that is included in the chain, or is still in mempool."><title>CanonicalTx in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">CanonicalTx</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_position">chain_position</a></li><li><a href="#structfield.tx_node">tx_node</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-CanonicalTx%3C'a,+T,+A%3E">Clone</a></li><li><a href="#impl-Debug-for-CanonicalTx%3C'a,+T,+A%3E">Debug</a></li><li><a href="#impl-Eq-for-CanonicalTx%3C'a,+T,+A%3E">Eq</a></li><li><a href="#impl-Ord-for-CanonicalTx%3C'a,+T,+A%3E">Ord</a></li><li><a href="#impl-PartialEq-for-CanonicalTx%3C'a,+T,+A%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-CanonicalTx%3C'a,+T,+A%3E">PartialOrd</a></li><li><a href="#impl-StructuralPartialEq-for-CanonicalTx%3C'a,+T,+A%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CanonicalTx%3C'a,+T,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CanonicalTx%3C'a,+T,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CanonicalTx%3C'a,+T,+A%3E">Send</a></li><li><a href="#impl-Sync-for-CanonicalTx%3C'a,+T,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-CanonicalTx%3C'a,+T,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CanonicalTx%3C'a,+T,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">CanonicalTx</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#174-179">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CanonicalTx<'a, T, A> {
+<!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 transaction that is included in the chain, or is still in mempool."><title>CanonicalTx in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">CanonicalTx</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain_position">chain_position</a></li><li><a href="#structfield.tx_node">tx_node</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-CanonicalTx%3C'a,+T,+A%3E">Clone</a></li><li><a href="#impl-Debug-for-CanonicalTx%3C'a,+T,+A%3E">Debug</a></li><li><a href="#impl-Eq-for-CanonicalTx%3C'a,+T,+A%3E">Eq</a></li><li><a href="#impl-Ord-for-CanonicalTx%3C'a,+T,+A%3E">Ord</a></li><li><a href="#impl-PartialEq-for-CanonicalTx%3C'a,+T,+A%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-CanonicalTx%3C'a,+T,+A%3E">PartialOrd</a></li><li><a href="#impl-StructuralPartialEq-for-CanonicalTx%3C'a,+T,+A%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CanonicalTx%3C'a,+T,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CanonicalTx%3C'a,+T,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CanonicalTx%3C'a,+T,+A%3E">Send</a></li><li><a href="#impl-Sync-for-CanonicalTx%3C'a,+T,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-CanonicalTx%3C'a,+T,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CanonicalTx%3C'a,+T,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">CanonicalTx</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#173-178">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CanonicalTx<'a, T, A> {
pub chain_position: <a class="enum" href="../enum.ChainPosition.html" title="enum bdk_chain::ChainPosition">ChainPosition</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a A</a>>,
pub tx_node: <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A transaction that is included in the chain, or is still in mempool.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chain_position" class="structfield section-header"><a href="#structfield.chain_position" class="anchor field">§</a><code>chain_position: <a class="enum" href="../enum.ChainPosition.html" title="enum bdk_chain::ChainPosition">ChainPosition</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a A</a>></code></span><div class="docblock"><p>How the transaction is observed as (confirmed or unconfirmed).</p>
</div><span id="structfield.tx_node" class="structfield section-header"><a href="#structfield.tx_node" class="anchor field">§</a><code>tx_node: <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></code></span><div class="docblock"><p>The transaction node (as part of the graph).</p>
-</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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-Clone-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><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>(&self) -> <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-Debug-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Ord-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-Ord-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&self, other: &<a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -> Self<div class="where">where
+</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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-Clone-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><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>(&self) -> <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-Debug-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Ord-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-Ord-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&self, other: &<a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -> Self<div class="where">where
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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -> Self<div class="where">where
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'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -> Self<div class="where">where
- Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-PartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><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>(&self, other: &<a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A>) -> <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
+ Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-PartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><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>(&self, other: &<a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-PartialOrd-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, 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 class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><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>(&self, other: &<a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><=</code>
+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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-PartialOrd-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, 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 class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><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>(&self, other: &<a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><=</code>
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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>></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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>>=</code>
-operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Eq-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-Eq-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>, A: <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/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section><section id="impl-StructuralPartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#173">source</a><a href="#impl-StructuralPartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, 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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a href="#impl-Freeze-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A><div class="where">where
+operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Eq-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-Eq-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>, A: <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/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A></h3></section><section id="impl-StructuralPartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#172">source</a><a href="#impl-StructuralPartialEq-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, 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-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a href="#impl-Freeze-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A><div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a href="#impl-RefUnwindSafe-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A><div class="where">where
T: <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>,
A: <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>,</div></h3></section><section id="impl-Send-for-CanonicalTx%3C'a,+T,+A%3E" class="impl"><a href="#impl-Send-for-CanonicalTx%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, T, A><div class="where">where
-<!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="The `ChangeSet` represents changes to a `TxGraph`."><title>ChangeSet in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.anchors">anchors</a></li><li><a href="#structfield.last_seen">last_seen</a></li><li><a href="#structfield.txouts">txouts</a></li><li><a href="#structfield.txs">txs</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.anchor_heights">anchor_heights</a></li><li><a href="#method.map_anchors">map_anchors</a></li><li><a href="#method.txouts">txouts</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Append-for-ChangeSet%3CA%3E">Append</a></li><li><a href="#impl-Clone-for-ChangeSet%3CA%3E">Clone</a></li><li><a href="#impl-Debug-for-ChangeSet%3CA%3E">Debug</a></li><li><a href="#impl-Default-for-ChangeSet%3CA%3E">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CA%3E">Deserialize<'de></a></li><li><a href="#impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E">From<ChangeSet<A>></a></li><li><a href="#impl-PartialEq-for-ChangeSet%3CA%3E">PartialEq</a></li><li><a href="#impl-Serialize-for-ChangeSet%3CA%3E">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-ChangeSet%3CA%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ChangeSet%3CA%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ChangeSet%3CA%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ChangeSet%3CA%3E">Send</a></li><li><a href="#impl-Sync-for-ChangeSet%3CA%3E">Sync</a></li><li><a href="#impl-Unpin-for-ChangeSet%3CA%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ChangeSet%3CA%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1241-1250">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ChangeSet<A = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> {
+<!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="The `ChangeSet` represents changes to a `TxGraph`."><title>ChangeSet in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.anchors">anchors</a></li><li><a href="#structfield.last_seen">last_seen</a></li><li><a href="#structfield.txouts">txouts</a></li><li><a href="#structfield.txs">txs</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.anchor_heights">anchor_heights</a></li><li><a href="#method.map_anchors">map_anchors</a></li><li><a href="#method.txouts">txouts</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Append-for-ChangeSet%3CA%3E">Append</a></li><li><a href="#impl-Clone-for-ChangeSet%3CA%3E">Clone</a></li><li><a href="#impl-Debug-for-ChangeSet%3CA%3E">Debug</a></li><li><a href="#impl-Default-for-ChangeSet%3CA%3E">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CA%3E">Deserialize<'de></a></li><li><a href="#impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E">From<ChangeSet<A>></a></li><li><a href="#impl-PartialEq-for-ChangeSet%3CA%3E">PartialEq</a></li><li><a href="#impl-Serialize-for-ChangeSet%3CA%3E">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-ChangeSet%3CA%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ChangeSet%3CA%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ChangeSet%3CA%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ChangeSet%3CA%3E">Send</a></li><li><a href="#impl-Sync-for-ChangeSet%3CA%3E">Sync</a></li><li><a href="#impl-Unpin-for-ChangeSet%3CA%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ChangeSet%3CA%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1240-1249">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ChangeSet<A = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> {
pub txs: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>>,
pub txouts: <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><OutPoint, TxOut>,
pub anchors: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><(A, Txid)>,
</div><span id="structfield.txouts" class="structfield section-header"><a href="#structfield.txouts" class="anchor field">§</a><code>txouts: <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><OutPoint, TxOut></code></span><div class="docblock"><p>Added txouts.</p>
</div><span id="structfield.anchors" class="structfield section-header"><a href="#structfield.anchors" class="anchor field">§</a><code>anchors: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><(A, Txid)></code></span><div class="docblock"><p>Added anchors.</p>
</div><span id="structfield.last_seen" class="structfield section-header"><a href="#structfield.last_seen" class="anchor field">§</a><code>last_seen: <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><Txid, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>></code></span><div class="docblock"><p>Added last-seen unix timestamps of transactions.</p>
-</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-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1263-1295">source</a><a href="#impl-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1265-1275">source</a><h4 class="code-header">pub fn <a href="#method.txouts" class="fn">txouts</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Iterates over all outpoints contained within <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.anchor_heights" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1281-1294">source</a><h4 class="code-header">pub fn <a href="#method.anchor_heights" class="fn">anchor_heights</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + '_<div class="where">where
+</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-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1262-1294">source</a><a href="#impl-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1264-1274">source</a><h4 class="code-header">pub fn <a href="#method.txouts" class="fn">txouts</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Iterates over all outpoints contained within <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.anchor_heights" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1280-1293">source</a><h4 class="code-header">pub fn <a href="#method.anchor_heights" class="fn">anchor_heights</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + '_<div class="where">where
A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>,</div></h4></section></summary><div class="docblock"><p>Iterates over the heights of that the new transaction anchors in this changeset.</p>
<p>This is useful if you want to find which heights you need to fetch data about in order to
confirm or exclude these anchors.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ChangeSet%3CA%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1323-1341">source</a><a href="#impl-ChangeSet%3CA%3E-1" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map_anchors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1328-1340">source</a><h4 class="code-header">pub fn <a href="#method.map_anchors" class="fn">map_anchors</a><A2: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, F>(self, f: F) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A2><div class="where">where
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ChangeSet%3CA%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1322-1340">source</a><a href="#impl-ChangeSet%3CA%3E-1" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map_anchors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1327-1339">source</a><h4 class="code-header">pub fn <a href="#method.map_anchors" class="fn">map_anchors</a><A2: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, F>(self, f: F) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A2><div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(A) -> A2,</div></h4></section></summary><div class="docblock"><p>Transform the <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> to have <a href="../trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a>s of another type.</p>
<p>This takes in a closure of signature <code>FnMut(A) -> A2</code> which is called for each <a href="../trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> to
transform it.</p>
-</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-Append-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1297-1321">source</a><a href="#impl-Append-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1298-1313">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1315-1320">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><a href="#impl-Clone-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><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>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><a href="#impl-Debug-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1252-1261">source</a><a href="#impl-Default-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1253-1260">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1231">source</a><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<'de, A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
- A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1231">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
- __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#313-320">source</a><a href="#impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>> for <a class="struct" href="../indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#314-319">source</a><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>(graph: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>) -> Self</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-PartialEq-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><a href="#impl-PartialEq-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><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>(&self, other: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>) -> <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
+</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-Append-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1296-1320">source</a><a href="#impl-Append-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="../trait.Append.html" title="trait bdk_chain::Append">Append</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.append" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1297-1312">source</a><a href="#method.append" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.append" class="fn">append</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1314-1319">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#tymethod.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_data_traits.rs.html#125-131">source</a><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.Append.html#method.take" class="fn">take</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><a href="#impl-Clone-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><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>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><a href="#impl-Debug-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1251-1260">source</a><a href="#impl-Default-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1252-1259">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1230">source</a><a href="#impl-Deserialize%3C'de%3E-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<'de, A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
+ A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1230">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#313-320">source</a><a href="#impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E" class="anchor">§</a><h3 class="code-header">impl<A, IA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>> for <a class="struct" href="../indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, IA></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#314-319">source</a><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>(graph: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>) -> Self</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-PartialEq-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><a href="#impl-PartialEq-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><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>(&self, other: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1231">source</a><a href="#impl-Serialize-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
- A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1231">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
- __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1228">source</a><a href="#impl-StructuralPartialEq-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><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-ChangeSet%3CA%3E" class="impl"><a href="#impl-Freeze-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section><section id="impl-RefUnwindSafe-for-ChangeSet%3CA%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1230">source</a><a href="#impl-Serialize-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
+ A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1230">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
+ __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-ChangeSet%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1227">source</a><a href="#impl-StructuralPartialEq-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><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-ChangeSet%3CA%3E" class="impl"><a href="#impl-Freeze-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section><section id="impl-RefUnwindSafe-for-ChangeSet%3CA%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
A: <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>,</div></h3></section><section id="impl-Send-for-ChangeSet%3CA%3E" class="impl"><a href="#impl-Send-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-ChangeSet%3CA%3E" class="impl"><a href="#impl-Sync-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-ChangeSet%3CA%3E" class="impl"><a href="#impl-Unpin-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h3></section><section id="impl-UnwindSafe-for-ChangeSet%3CA%3E" class="impl"><a href="#impl-UnwindSafe-for-ChangeSet%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A><div class="where">where
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An iterator that traverses ancestors of a given root transaction."><title>TxAncestors in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxAncestors</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Iterator-for-TxAncestors%3C'g,+A,+F%3E">Iterator</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxAncestors%3C'g,+A,+F%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxAncestors%3C'g,+A,+F%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxAncestors%3C'g,+A,+F%3E">Send</a></li><li><a href="#impl-Sync-for-TxAncestors%3C'g,+A,+F%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxAncestors%3C'g,+A,+F%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxAncestors%3C'g,+A,+F%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-ByteIterExt-for-I">ByteIterExt</a></li><li><a href="#impl-CheckedSum%3CAmount%3E-for-T">CheckedSum<Amount></a></li><li><a href="#impl-CheckedSum%3CSignedAmount%3E-for-T">CheckedSum<SignedAmount></a></li><li><a href="#impl-Fe32IterExt-for-I">Fe32IterExt</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-IntoIterator-for-I">IntoIterator</a></li><li><a href="#impl-IteratorRandom-for-I">IteratorRandom</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxAncestors</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1356-1361">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxAncestors<'g, A, F> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An iterator that traverses ancestors of a given root transaction.</p>
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An iterator that traverses ancestors of a given root transaction."><title>TxAncestors in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxAncestors</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Iterator-for-TxAncestors%3C'g,+A,+F%3E">Iterator</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxAncestors%3C'g,+A,+F%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxAncestors%3C'g,+A,+F%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxAncestors%3C'g,+A,+F%3E">Send</a></li><li><a href="#impl-Sync-for-TxAncestors%3C'g,+A,+F%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxAncestors%3C'g,+A,+F%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxAncestors%3C'g,+A,+F%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-ByteIterExt-for-I">ByteIterExt</a></li><li><a href="#impl-CheckedSum%3CAmount%3E-for-T">CheckedSum<Amount></a></li><li><a href="#impl-CheckedSum%3CSignedAmount%3E-for-T">CheckedSum<SignedAmount></a></li><li><a href="#impl-Fe32IterExt-for-I">Fe32IterExt</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-IntoIterator-for-I">IntoIterator</a></li><li><a href="#impl-IteratorRandom-for-I">IteratorRandom</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxAncestors</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1355-1360">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxAncestors<'g, A, F> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An iterator that traverses ancestors of a given root transaction.</p>
<p>The iterator excludes partial transactions.</p>
<p>Returned by the <a href="struct.TxGraph.html#method.walk_ancestors" title="method bdk_chain::tx_graph::TxGraph::walk_ancestors"><code>walk_ancestors</code></a> method of <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><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-Iterator-for-TxAncestors%3C'g,+A,+F%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1450-1469">source</a><a href="#impl-Iterator-for-TxAncestors%3C'g,+A,+F%3E" class="anchor">§</a><h3 class="code-header">impl<'g, A, F, O> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.TxAncestors.html" title="struct bdk_chain::tx_graph::TxAncestors">TxAncestors</a><'g, A, F><div class="where">where
- F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><O>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = O</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1456-1468">source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next" class="fn">next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>></h4></section></summary><div class='docblock'>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_chunk" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#115-119">source</a><a href="#method.next_chunk" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk" class="fn">next_chunk</a><const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>(
+</div></details><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-Iterator-for-TxAncestors%3C'g,+A,+F%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1449-1468">source</a><a href="#impl-Iterator-for-TxAncestors%3C'g,+A,+F%3E" class="anchor">§</a><h3 class="code-header">impl<'g, A, F, O> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.TxAncestors.html" title="struct bdk_chain::tx_graph::TxAncestors">TxAncestors</a><'g, A, F><div class="where">where
+ F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><O>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = O</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1455-1467">source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next" class="fn">next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>></h4></section></summary><div class='docblock'>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_chunk" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#115-119">source</a><a href="#method.next_chunk" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk" class="fn">next_chunk</a><const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>(
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.org/nightly/core/array/iter/struct.IntoIter.html" title="struct core::array::iter::IntoIter">IntoIter</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, N>><div class="where">where
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><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" 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/iter/traits/iterator.rs.html#193">source</a></span><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint" class="fn">size_hint</a>(&self) -> (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>)</h4></section></summary><div class='docblock'>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.count" 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/iter/traits/iterator.rs.html#229-231">source</a></span><a href="#method.count" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.count" class="fn">count</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><div class="where">where
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An iterator that traverses transaction descendants."><title>TxDescendants in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxDescendants</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Iterator-for-TxDescendants%3C'g,+A,+F%3E">Iterator</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxDescendants%3C'g,+A,+F%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxDescendants%3C'g,+A,+F%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxDescendants%3C'g,+A,+F%3E">Send</a></li><li><a href="#impl-Sync-for-TxDescendants%3C'g,+A,+F%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxDescendants%3C'g,+A,+F%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxDescendants%3C'g,+A,+F%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-ByteIterExt-for-I">ByteIterExt</a></li><li><a href="#impl-CheckedSum%3CAmount%3E-for-T">CheckedSum<Amount></a></li><li><a href="#impl-CheckedSum%3CSignedAmount%3E-for-T">CheckedSum<SignedAmount></a></li><li><a href="#impl-Fe32IterExt-for-I">Fe32IterExt</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-IntoIterator-for-I">IntoIterator</a></li><li><a href="#impl-IteratorRandom-for-I">IteratorRandom</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxDescendants</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1476-1481">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxDescendants<'g, A, F> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An iterator that traverses transaction descendants.</p>
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An iterator that traverses transaction descendants."><title>TxDescendants in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxDescendants</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Iterator-for-TxDescendants%3C'g,+A,+F%3E">Iterator</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxDescendants%3C'g,+A,+F%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxDescendants%3C'g,+A,+F%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxDescendants%3C'g,+A,+F%3E">Send</a></li><li><a href="#impl-Sync-for-TxDescendants%3C'g,+A,+F%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxDescendants%3C'g,+A,+F%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxDescendants%3C'g,+A,+F%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-ByteIterExt-for-I">ByteIterExt</a></li><li><a href="#impl-CheckedSum%3CAmount%3E-for-T">CheckedSum<Amount></a></li><li><a href="#impl-CheckedSum%3CSignedAmount%3E-for-T">CheckedSum<SignedAmount></a></li><li><a href="#impl-Fe32IterExt-for-I">Fe32IterExt</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-IntoIterator-for-I">IntoIterator</a></li><li><a href="#impl-IteratorRandom-for-I">IteratorRandom</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxDescendants</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#1475-1480">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxDescendants<'g, A, F> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An iterator that traverses transaction descendants.</p>
<p>Returned by the <a href="struct.TxGraph.html#method.walk_descendants" title="method bdk_chain::tx_graph::TxGraph::walk_descendants"><code>walk_descendants</code></a> method of <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><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-Iterator-for-TxDescendants%3C'g,+A,+F%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1561-1583">source</a><a href="#impl-Iterator-for-TxDescendants%3C'g,+A,+F%3E" class="anchor">§</a><h3 class="code-header">impl<'g, A, F, O> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.TxDescendants.html" title="struct bdk_chain::tx_graph::TxDescendants">TxDescendants</a><'g, A, F><div class="where">where
- F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><O>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = O</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1567-1582">source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next" class="fn">next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>></h4></section></summary><div class='docblock'>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_chunk" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#115-119">source</a><a href="#method.next_chunk" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk" class="fn">next_chunk</a><const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>(
+</div></details><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-Iterator-for-TxDescendants%3C'g,+A,+F%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1560-1582">source</a><a href="#impl-Iterator-for-TxDescendants%3C'g,+A,+F%3E" class="anchor">§</a><h3 class="code-header">impl<'g, A, F, O> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.TxDescendants.html" title="struct bdk_chain::tx_graph::TxDescendants">TxDescendants</a><'g, A, F><div class="where">where
+ F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><O>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = O</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1566-1581">source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next" class="fn">next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>></h4></section></summary><div class='docblock'>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_chunk" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/iterator.rs.html#115-119">source</a><a href="#method.next_chunk" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk" class="fn">next_chunk</a><const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>(
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.org/nightly/core/array/iter/struct.IntoIter.html" title="struct core::array::iter::IntoIter">IntoIter</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, N>><div class="where">where
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><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" 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/iter/traits/iterator.rs.html#193">source</a></span><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint" class="fn">size_hint</a>(&self) -> (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>)</h4></section></summary><div class='docblock'>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.size_hint">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.count" 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/iter/traits/iterator.rs.html#229-231">source</a></span><a href="#method.count" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.count" class="fn">count</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><div class="where">where
-<!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 graph of transactions and spends."><title>TxGraph in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxGraph</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all_anchors">all_anchors</a></li><li><a href="#method.all_txouts">all_txouts</a></li><li><a href="#method.apply_changeset">apply_changeset</a></li><li><a href="#method.apply_update">apply_update</a></li><li><a href="#method.balance">balance</a></li><li><a href="#method.batch_insert_unconfirmed">batch_insert_unconfirmed</a></li><li><a href="#method.calculate_fee">calculate_fee</a></li><li><a href="#method.direct_conflicts">direct_conflicts</a></li><li><a href="#method.filter_chain_txouts">filter_chain_txouts</a></li><li><a href="#method.filter_chain_unspents">filter_chain_unspents</a></li><li><a href="#method.floating_txouts">floating_txouts</a></li><li><a href="#method.full_txs">full_txs</a></li><li><a href="#method.get_chain_position">get_chain_position</a></li><li><a href="#method.get_chain_spend">get_chain_spend</a></li><li><a href="#method.get_tx">get_tx</a></li><li><a href="#method.get_tx_node">get_tx_node</a></li><li><a href="#method.get_txout">get_txout</a></li><li><a href="#method.initial_changeset">initial_changeset</a></li><li><a href="#method.insert_anchor">insert_anchor</a></li><li><a href="#method.insert_seen_at">insert_seen_at</a></li><li><a href="#method.insert_tx">insert_tx</a></li><li><a href="#method.insert_txout">insert_txout</a></li><li><a href="#method.is_empty">is_empty</a></li><li><a href="#method.list_canonical_txs">list_canonical_txs</a></li><li><a href="#method.map_anchors">map_anchors</a></li><li><a href="#method.new">new</a></li><li><a href="#method.outspends">outspends</a></li><li><a href="#method.try_balance">try_balance</a></li><li><a href="#method.try_filter_chain_txouts">try_filter_chain_txouts</a></li><li><a href="#method.try_filter_chain_unspents">try_filter_chain_unspents</a></li><li><a href="#method.try_get_chain_position">try_get_chain_position</a></li><li><a href="#method.try_get_chain_spend">try_get_chain_spend</a></li><li><a href="#method.try_list_canonical_txs">try_list_canonical_txs</a></li><li><a href="#method.tx_outputs">tx_outputs</a></li><li><a href="#method.tx_spends">tx_spends</a></li><li><a href="#method.txs_with_no_anchor_or_last_seen">txs_with_no_anchor_or_last_seen</a></li><li><a href="#method.update_last_seen_unconfirmed">update_last_seen_unconfirmed</a></li><li><a href="#method.walk_ancestors">walk_ancestors</a></li><li><a href="#method.walk_conflicts">walk_conflicts</a></li><li><a href="#method.walk_descendants">walk_descendants</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E">AsRef<TxGraph<A>></a></li><li><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-TxGraph%3CA%3E">AsRef<TxGraph<A>></a></li><li><a href="#impl-Clone-for-TxGraph%3CA%3E">Clone</a></li><li><a href="#impl-Debug-for-TxGraph%3CA%3E">Debug</a></li><li><a href="#impl-Default-for-TxGraph%3CA%3E">Default</a></li><li><a href="#impl-PartialEq-for-TxGraph%3CA%3E">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-TxGraph%3CA%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxGraph%3CA%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxGraph%3CA%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxGraph%3CA%3E">Send</a></li><li><a href="#impl-Sync-for-TxGraph%3CA%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxGraph%3CA%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxGraph%3CA%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxGraph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#111-121">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxGraph<A = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A graph of transactions and spends.</p>
+<!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 graph of transactions and spends."><title>TxGraph in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxGraph</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all_anchors">all_anchors</a></li><li><a href="#method.all_txouts">all_txouts</a></li><li><a href="#method.apply_changeset">apply_changeset</a></li><li><a href="#method.apply_update">apply_update</a></li><li><a href="#method.balance">balance</a></li><li><a href="#method.batch_insert_unconfirmed">batch_insert_unconfirmed</a></li><li><a href="#method.calculate_fee">calculate_fee</a></li><li><a href="#method.direct_conflicts">direct_conflicts</a></li><li><a href="#method.filter_chain_txouts">filter_chain_txouts</a></li><li><a href="#method.filter_chain_unspents">filter_chain_unspents</a></li><li><a href="#method.floating_txouts">floating_txouts</a></li><li><a href="#method.full_txs">full_txs</a></li><li><a href="#method.get_chain_position">get_chain_position</a></li><li><a href="#method.get_chain_spend">get_chain_spend</a></li><li><a href="#method.get_tx">get_tx</a></li><li><a href="#method.get_tx_node">get_tx_node</a></li><li><a href="#method.get_txout">get_txout</a></li><li><a href="#method.initial_changeset">initial_changeset</a></li><li><a href="#method.insert_anchor">insert_anchor</a></li><li><a href="#method.insert_seen_at">insert_seen_at</a></li><li><a href="#method.insert_tx">insert_tx</a></li><li><a href="#method.insert_txout">insert_txout</a></li><li><a href="#method.is_empty">is_empty</a></li><li><a href="#method.list_canonical_txs">list_canonical_txs</a></li><li><a href="#method.map_anchors">map_anchors</a></li><li><a href="#method.new">new</a></li><li><a href="#method.outspends">outspends</a></li><li><a href="#method.try_balance">try_balance</a></li><li><a href="#method.try_filter_chain_txouts">try_filter_chain_txouts</a></li><li><a href="#method.try_filter_chain_unspents">try_filter_chain_unspents</a></li><li><a href="#method.try_get_chain_position">try_get_chain_position</a></li><li><a href="#method.try_get_chain_spend">try_get_chain_spend</a></li><li><a href="#method.try_list_canonical_txs">try_list_canonical_txs</a></li><li><a href="#method.tx_outputs">tx_outputs</a></li><li><a href="#method.tx_spends">tx_spends</a></li><li><a href="#method.txs_with_no_anchor_or_last_seen">txs_with_no_anchor_or_last_seen</a></li><li><a href="#method.update_last_seen_unconfirmed">update_last_seen_unconfirmed</a></li><li><a href="#method.walk_ancestors">walk_ancestors</a></li><li><a href="#method.walk_conflicts">walk_conflicts</a></li><li><a href="#method.walk_descendants">walk_descendants</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E">AsRef<TxGraph<A>></a></li><li><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-TxGraph%3CA%3E">AsRef<TxGraph<A>></a></li><li><a href="#impl-Clone-for-TxGraph%3CA%3E">Clone</a></li><li><a href="#impl-Debug-for-TxGraph%3CA%3E">Debug</a></li><li><a href="#impl-Default-for-TxGraph%3CA%3E">Default</a></li><li><a href="#impl-PartialEq-for-TxGraph%3CA%3E">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-TxGraph%3CA%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxGraph%3CA%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxGraph%3CA%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxGraph%3CA%3E">Send</a></li><li><a href="#impl-Sync-for-TxGraph%3CA%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxGraph%3CA%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxGraph%3CA%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxGraph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#110-120">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxGraph<A = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A graph of transactions and spends.</p>
<p>See the <a href="index.html" title="mod bdk_chain::tx_graph">module-level documentation</a> for more.</p>
-</div></details><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-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#210-393">source</a><a href="#impl-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.all_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#214-228">source</a><h4 class="code-header">pub fn <a href="#method.all_txouts" class="fn">all_txouts</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Iterate over all tx outputs known by <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><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-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#209-392">source</a><a href="#impl-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.all_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#213-227">source</a><h4 class="code-header">pub fn <a href="#method.all_txouts" class="fn">all_txouts</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Iterate over all tx outputs known by <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
<p>This includes txouts of both full transactions as well as floating transactions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.floating_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#234-246">source</a><h4 class="code-header">pub fn <a href="#method.floating_txouts" class="fn">floating_txouts</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Iterate over floating txouts known by <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.floating_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#233-245">source</a><h4 class="code-header">pub fn <a href="#method.floating_txouts" class="fn">floating_txouts</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OutPoint, &TxOut)></h4></section></summary><div class="docblock"><p>Iterate over floating txouts known by <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
<p>Floating txouts are txouts that do not have the residing full transaction contained in the
graph.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.full_txs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#249-261">source</a><h4 class="code-header">pub fn <a href="#method.full_txs" class="fn">full_txs</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, A>></h4></section></summary><div class="docblock"><p>Iterate over all full transactions in the graph.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.txs_with_no_anchor_or_last_seen" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#264-274">source</a><h4 class="code-header">pub fn <a href="#method.txs_with_no_anchor_or_last_seen" class="fn">txs_with_no_anchor_or_last_seen</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.full_txs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#248-260">source</a><h4 class="code-header">pub fn <a href="#method.full_txs" class="fn">full_txs</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, A>></h4></section></summary><div class="docblock"><p>Iterate over all full transactions in the graph.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.txs_with_no_anchor_or_last_seen" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#263-273">source</a><h4 class="code-header">pub fn <a href="#method.txs_with_no_anchor_or_last_seen" class="fn">txs_with_no_anchor_or_last_seen</a>(
&self
) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, A>></h4></section></summary><div class="docblock"><p>Iterate over graph transactions with no anchors or last-seen.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#281-283">source</a><h4 class="code-header">pub fn <a href="#method.get_tx" class="fn">get_tx</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>></h4></section></summary><div class="docblock"><p>Get a transaction by txid. This only returns <code>Some</code> for full transactions.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#280-282">source</a><h4 class="code-header">pub fn <a href="#method.get_tx" class="fn">get_tx</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>></h4></section></summary><div class="docblock"><p>Get a transaction by txid. This only returns <code>Some</code> for full transactions.</p>
<p>Refer to <a href="struct.TxGraph.html#method.get_txout" title="method bdk_chain::tx_graph::TxGraph::get_txout"><code>get_txout</code></a> for getting a specific [<code>TxOut</code>].</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_tx_node" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#286-296">source</a><h4 class="code-header">pub fn <a href="#method.get_tx_node" class="fn">get_tx_node</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, A>></h4></section></summary><div class="docblock"><p>Get a transaction node by txid. This only returns <code>Some</code> for full transactions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#299-304">source</a><h4 class="code-header">pub fn <a href="#method.get_txout" class="fn">get_txout</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&TxOut></h4></section></summary><div class="docblock"><p>Obtains a single tx output (if any) at the specified outpoint.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.tx_outputs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#309-323">source</a><h4 class="code-header">pub fn <a href="#method.tx_outputs" class="fn">tx_outputs</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, &TxOut>></h4></section></summary><div class="docblock"><p>Returns known outputs of a given <code>txid</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_tx_node" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#285-295">source</a><h4 class="code-header">pub fn <a href="#method.get_tx_node" class="fn">get_tx_node</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, A>></h4></section></summary><div class="docblock"><p>Get a transaction node by txid. This only returns <code>Some</code> for full transactions.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#298-303">source</a><h4 class="code-header">pub fn <a href="#method.get_txout" class="fn">get_txout</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&TxOut></h4></section></summary><div class="docblock"><p>Obtains a single tx output (if any) at the specified outpoint.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.tx_outputs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#308-322">source</a><h4 class="code-header">pub fn <a href="#method.tx_outputs" class="fn">tx_outputs</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, &TxOut>></h4></section></summary><div class="docblock"><p>Returns known outputs of a given <code>txid</code>.</p>
<p>Returns a <a href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap"><code>BTreeMap</code></a> of vout to output of the provided <code>txid</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.calculate_fee" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#336-367">source</a><h4 class="code-header">pub fn <a href="#method.calculate_fee" class="fn">calculate_fee</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.calculate_fee" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#335-366">source</a><h4 class="code-header">pub fn <a href="#method.calculate_fee" class="fn">calculate_fee</a>(
&self,
tx: &Transaction
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Amount, <a class="enum" href="enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a>></h4></section></summary><div class="docblock"><p>Calculates the fee of a given transaction. Returns [<code>Amount::ZERO</code>] if <code>tx</code> is a coinbase transaction.
first manually insert the foreign TxOuts into the tx graph using the <a href="struct.TxGraph.html#method.insert_txout" title="method bdk_chain::tx_graph::TxGraph::insert_txout"><code>insert_txout</code></a> function.
Only insert TxOuts you trust the values for!</p>
<p>Note <code>tx</code> does not have to be in the graph for this to work.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.outspends" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#373-375">source</a><h4 class="code-header">pub fn <a href="#method.outspends" class="fn">outspends</a>(&self, outpoint: OutPoint) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><Txid></h4></section></summary><div class="docblock"><p>The transactions spending from this output.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.outspends" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#372-374">source</a><h4 class="code-header">pub fn <a href="#method.outspends" class="fn">outspends</a>(&self, outpoint: OutPoint) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><Txid></h4></section></summary><div class="docblock"><p>The transactions spending from this output.</p>
<p><a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> allows conflicting transactions within the graph. Obviously the transactions in
the returned set will never be in the same active-chain.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.tx_spends" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#383-392">source</a><h4 class="code-header">pub fn <a href="#method.tx_spends" class="fn">tx_spends</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.tx_spends" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#382-391">source</a><h4 class="code-header">pub fn <a href="#method.tx_spends" class="fn">tx_spends</a>(
&self,
txid: Txid
) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, &<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><Txid>)> + '_</h4></section></summary><div class="docblock"><p>Iterates over the transactions spending from <code>txid</code>.</p>
<li><code>vout</code> is the provided <code>txid</code>’s outpoint that is being spent</li>
<li><code>txid-set</code> is the set of txids spending the <code>vout</code>.</li>
</ul>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#395-433">source</a><a href="#impl-TxGraph%3CA%3E-1" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.walk_ancestors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#409-415">source</a><h4 class="code-header">pub fn <a href="#method.walk_ancestors" class="fn">walk_ancestors</a><'g, T, F, O>(
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-1" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#394-432">source</a><a href="#impl-TxGraph%3CA%3E-1" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.walk_ancestors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#408-414">source</a><h4 class="code-header">pub fn <a href="#method.walk_ancestors" class="fn">walk_ancestors</a><'g, T, F, O>(
&'g self,
tx: T,
walk_map: F
</ul>
<p>The supplied closure returns an <code>Option<T></code>, allowing the caller to map each <code>Transaction</code>
it visits and decide whether to visit ancestors.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.walk_descendants" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#427-432">source</a><h4 class="code-header">pub fn <a href="#method.walk_descendants" class="fn">walk_descendants</a><'g, F, O>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.walk_descendants" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#426-431">source</a><h4 class="code-header">pub fn <a href="#method.walk_descendants" class="fn">walk_descendants</a><'g, F, O>(
&'g self,
txid: Txid,
walk_map: F
</ul>
<p>The supplied closure returns an <code>Option<T></code>, allowing the caller to map each node it visits
and decide whether to visit descendants.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-2" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#435-481">source</a><a href="#impl-TxGraph%3CA%3E-2" class="anchor">§</a><h3 class="code-header">impl<A> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.walk_conflicts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#440-450">source</a><h4 class="code-header">pub fn <a href="#method.walk_conflicts" class="fn">walk_conflicts</a><'g, F, O>(
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-2" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#434-480">source</a><a href="#impl-TxGraph%3CA%3E-2" class="anchor">§</a><h3 class="code-header">impl<A> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.walk_conflicts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#439-449">source</a><h4 class="code-header">pub fn <a href="#method.walk_conflicts" class="fn">walk_conflicts</a><'g, F, O>(
&'g self,
tx: &'g Transaction,
walk_map: F
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><O> + 'g,</div></h4></section></summary><div class="docblock"><p>Creates an iterator that both filters and maps conflicting transactions (this includes
descendants of directly-conflicting transactions, which are also considered conflicts).</p>
<p>Refer to <a href="struct.TxGraph.html#method.walk_descendants" title="method bdk_chain::tx_graph::TxGraph::walk_descendants"><code>Self::walk_descendants</code></a> for <code>walk_map</code> usage.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.direct_conflicts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#459-470">source</a><h4 class="code-header">pub fn <a href="#method.direct_conflicts" class="fn">direct_conflicts</a><'g>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.direct_conflicts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#458-469">source</a><h4 class="code-header">pub fn <a href="#method.direct_conflicts" class="fn">direct_conflicts</a><'g>(
&'g self,
tx: &'g Transaction
) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Txid)> + '_</h4></section></summary><div class="docblock"><p>Given a transaction, return an iterator of txids that directly conflict with the given
<li>descendants of conflicting transactions (which are technically also conflicting)</li>
<li>transactions conflicting with the given transaction’s ancestors</li>
</ul>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.all_anchors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#473-475">source</a><h4 class="code-header">pub fn <a href="#method.all_anchors" class="fn">all_anchors</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><(A, Txid)></h4></section></summary><div class="docblock"><p>Get all transaction anchors known by <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#478-480">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the graph has any transactions or outputs in it.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-3" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#483-763">source</a><a href="#impl-TxGraph%3CA%3E-3" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map_anchors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#488-495">source</a><h4 class="code-header">pub fn <a href="#method.map_anchors" class="fn">map_anchors</a><A2: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, F>(self, f: F) -> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A2><div class="where">where
+</div></details><details class="toggle method-toggle" open><summary><section id="method.all_anchors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#472-474">source</a><h4 class="code-header">pub fn <a href="#method.all_anchors" class="fn">all_anchors</a>(&self) -> &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><(A, Txid)></h4></section></summary><div class="docblock"><p>Get all transaction anchors known by <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#477-479">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether the graph has any transactions or outputs in it.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-3" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#482-762">source</a><a href="#impl-TxGraph%3CA%3E-3" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.map_anchors" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#487-494">source</a><h4 class="code-header">pub fn <a href="#method.map_anchors" class="fn">map_anchors</a><A2: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, F>(self, f: F) -> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A2><div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(A) -> A2,</div></h4></section></summary><div class="docblock"><p>Transform the <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> to have <a href="../trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a>s of another type.</p>
<p>This takes in a closure of signature <code>FnMut(A) -> A2</code> which is called for each <a href="../trait.Anchor.html" title="trait bdk_chain::Anchor"><code>Anchor</code></a> to
transform it.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#498-504">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Transaction>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> from a list of transactions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#515-525">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(&mut self, outpoint: OutPoint, txout: TxOut) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given [<code>TxOut</code>] at [<code>OutPoint</code>].</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#497-503">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Transaction>) -> Self</h4></section></summary><div class="docblock"><p>Construct a new <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> from a list of transactions.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_txout" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#514-524">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(&mut self, outpoint: OutPoint, txout: TxOut) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given [<code>TxOut</code>] at [<code>OutPoint</code>].</p>
<p>Inserting floating txouts are useful for determining fee/feerate of transactions we care
about.</p>
<p>The <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> result will be empty if the <code>outpoint</code> (or a full transaction containing
the <code>outpoint</code>) already existed in <code>self</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#530-538">source</a><h4 class="code-header">pub fn <a href="#method.insert_tx" class="fn">insert_tx</a><T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>>>(&mut self, tx: T) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given transaction into <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_tx" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#529-537">source</a><h4 class="code-header">pub fn <a href="#method.insert_tx" class="fn">insert_tx</a><T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>>>(&mut self, tx: T) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given transaction into <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
<p>The <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> returned will be empty if <code>tx</code> already exists.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.batch_insert_unconfirmed" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#545-555">source</a><h4 class="code-header">pub fn <a href="#method.batch_insert_unconfirmed" class="fn">batch_insert_unconfirmed</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.batch_insert_unconfirmed" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#544-554">source</a><h4 class="code-header">pub fn <a href="#method.batch_insert_unconfirmed" class="fn">batch_insert_unconfirmed</a>(
&mut self,
txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>
) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Batch insert unconfirmed transactions.</p>
<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The
<em>last seen</em> communicates when the transaction is last seen in mempool which is used for
conflict-resolution (refer to <a href="struct.TxGraph.html#method.insert_seen_at" title="method bdk_chain::tx_graph::TxGraph::insert_seen_at"><code>TxGraph::insert_seen_at</code></a> for details).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_anchor" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#561-565">source</a><h4 class="code-header">pub fn <a href="#method.insert_anchor" class="fn">insert_anchor</a>(&mut self, txid: Txid, anchor: A) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given <code>anchor</code> into <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_anchor" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#560-564">source</a><h4 class="code-header">pub fn <a href="#method.insert_anchor" class="fn">insert_anchor</a>(&mut self, txid: Txid, anchor: A) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given <code>anchor</code> into <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
<p>The <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> returned will be empty if graph already knows that <code>txid</code> exists in
<code>anchor</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_seen_at" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#574-578">source</a><h4 class="code-header">pub fn <a href="#method.insert_seen_at" class="fn">insert_seen_at</a>(&mut self, txid: Txid, seen_at: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given <code>seen_at</code> for <code>txid</code> into <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_seen_at" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#573-577">source</a><h4 class="code-header">pub fn <a href="#method.insert_seen_at" class="fn">insert_seen_at</a>(&mut self, txid: Txid, seen_at: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Inserts the given <code>seen_at</code> for <code>txid</code> into <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
<p>Note that <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> only keeps track of the latest <code>seen_at</code>. To batch
update all unconfirmed transactions with the latest <code>seen_at</code>, see
<a href="struct.TxGraph.html#method.update_last_seen_unconfirmed" title="method bdk_chain::tx_graph::TxGraph::update_last_seen_unconfirmed"><code>update_last_seen_unconfirmed</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.update_last_seen_unconfirmed" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#617-637">source</a><h4 class="code-header">pub fn <a href="#method.update_last_seen_unconfirmed" class="fn">update_last_seen_unconfirmed</a>(&mut self, seen_at: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Update the last seen time for all unconfirmed transactions.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.update_last_seen_unconfirmed" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#616-636">source</a><h4 class="code-header">pub fn <a href="#method.update_last_seen_unconfirmed" class="fn">update_last_seen_unconfirmed</a>(&mut self, seen_at: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Update the last seen time for all unconfirmed transactions.</p>
<p>This method updates the last seen unconfirmed time for this <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> by inserting
the given <code>seen_at</code> for every transaction not yet anchored to a confirmed block,
and returns the <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> after applying all updates to <code>self</code>.</p>
<p>Note that <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> only keeps track of the latest <code>seen_at</code>, so the given time must
by strictly greater than what is currently stored for a transaction to have an effect.
To insert a last seen time for a single txid, see <a href="struct.TxGraph.html#method.insert_seen_at" title="method bdk_chain::tx_graph::TxGraph::insert_seen_at"><code>insert_seen_at</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#644-648">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(&mut self, update: <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Extends this graph with another so that <code>self</code> becomes the union of the two sets of
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#643-647">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(&mut self, update: <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Extends this graph with another so that <code>self</code> becomes the union of the two sets of
transactions.</p>
<p>The returned <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> is the set difference between <code>update</code> and <code>self</code> (transactions that
exist in <code>update</code> but not in <code>self</code>).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#651-653">source</a><h4 class="code-header">pub fn <a href="#method.initial_changeset" class="fn">initial_changeset</a>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Determines the <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#656-713">source</a><h4 class="code-header">pub fn <a href="#method.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>)</h4></section></summary><div class="docblock"><p>Applies <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> to <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-4" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#765-1218">source</a><a href="#impl-TxGraph%3CA%3E-4" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_get_chain_position" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#789-910">source</a><h4 class="code-header">pub fn <a href="#method.try_get_chain_position" class="fn">try_get_chain_position</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.initial_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#650-652">source</a><h4 class="code-header">pub fn <a href="#method.initial_changeset" class="fn">initial_changeset</a>(&self) -> <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A></h4></section></summary><div class="docblock"><p>Determines the <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_changeset" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#655-712">source</a><h4 class="code-header">pub fn <a href="#method.apply_changeset" class="fn">apply_changeset</a>(&mut self, changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet">ChangeSet</a><A>)</h4></section></summary><div class="docblock"><p>Applies <a href="struct.ChangeSet.html" title="struct bdk_chain::tx_graph::ChangeSet"><code>ChangeSet</code></a> to <a href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TxGraph%3CA%3E-4" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#764-1217">source</a><a href="#impl-TxGraph%3CA%3E-4" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="../trait.Anchor.html" title="trait bdk_chain::Anchor">Anchor</a>> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_get_chain_position" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#788-909">source</a><h4 class="code-header">pub fn <a href="#method.try_get_chain_position" class="fn">try_get_chain_position</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a>>(
&self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
<h5 id="error"><a class="doc-anchor" href="#error">§</a>Error</h5>
<p>An error will occur if the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> implementation (<code>chain</code>) fails. If the
<a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> is infallible, <a href="struct.TxGraph.html#method.get_chain_position" title="method bdk_chain::tx_graph::TxGraph::get_chain_position"><code>get_chain_position</code></a> can be used instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_chain_position" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#917-925">source</a><h4 class="code-header">pub fn <a href="#method.get_chain_position" class="fn">get_chain_position</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_chain_position" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#916-924">source</a><h4 class="code-header">pub fn <a href="#method.get_chain_position" class="fn">get_chain_position</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>>>(
&self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
txid: Txid
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../enum.ChainPosition.html" title="enum bdk_chain::ChainPosition">ChainPosition</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&A</a>>></h4></section></summary><div class="docblock"><p>Get the position of the transaction in <code>chain</code> with tip <code>chain_tip</code>.</p>
<p>This is the infallible version of <a href="struct.TxGraph.html#method.try_get_chain_position" title="method bdk_chain::tx_graph::TxGraph::try_get_chain_position"><code>try_get_chain_position</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_get_chain_spend" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#939-959">source</a><h4 class="code-header">pub fn <a href="#method.try_get_chain_spend" class="fn">try_get_chain_spend</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_get_chain_spend" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#938-958">source</a><h4 class="code-header">pub fn <a href="#method.try_get_chain_spend" class="fn">try_get_chain_spend</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a>>(
&self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
<h5 id="error-1"><a class="doc-anchor" href="#error-1">§</a>Error</h5>
<p>An error will occur only if the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> implementation (<code>chain</code>) fails.</p>
<p>If the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> is infallible, <a href="struct.TxGraph.html#method.get_chain_spend" title="method bdk_chain::tx_graph::TxGraph::get_chain_spend"><code>get_chain_spend</code></a> can be used instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_chain_spend" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#967-975">source</a><h4 class="code-header">pub fn <a href="#method.get_chain_spend" class="fn">get_chain_spend</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_chain_spend" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#966-974">source</a><h4 class="code-header">pub fn <a href="#method.get_chain_spend" class="fn">get_chain_spend</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>>>(
&self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&C</a>,
static_block: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<a class="enum" href="../enum.ChainPosition.html" title="enum bdk_chain::ChainPosition">ChainPosition</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&A</a>>, Txid)></h4></section></summary><div class="docblock"><p>Get the txid of the spending transaction and where the spending transaction is observed in
the <code>chain</code> of <code>chain_tip</code>.</p>
<p>This is the infallible version of <a href="struct.TxGraph.html#method.try_get_chain_spend" title="method bdk_chain::tx_graph::TxGraph::try_get_chain_spend"><code>try_get_chain_spend</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_list_canonical_txs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#990-1005">source</a><h4 class="code-header">pub fn <a href="#method.try_list_canonical_txs" class="fn">try_list_canonical_txs</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_list_canonical_txs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#989-1004">source</a><h4 class="code-header">pub fn <a href="#method.try_list_canonical_txs" class="fn">try_list_canonical_txs</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a>(
&'a self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>
<p>If the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> implementation (<code>chain</code>) fails, an error will be returned with the
returned item.</p>
<p>If the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> is infallible, <a href="struct.TxGraph.html#method.list_canonical_txs" title="method bdk_chain::tx_graph::TxGraph::list_canonical_txs"><code>list_canonical_txs</code></a> can be used instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.list_canonical_txs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1012-1019">source</a><h4 class="code-header">pub fn <a href="#method.list_canonical_txs" class="fn">list_canonical_txs</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.list_canonical_txs" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1011-1018">source</a><h4 class="code-header">pub fn <a href="#method.list_canonical_txs" class="fn">list_canonical_txs</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a>(
&'a self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>
) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'a, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, A>></h4></section></summary><div class="docblock"><p>List graph transactions that are in <code>chain</code> with <code>chain_tip</code>.</p>
<p>This is the infallible version of <a href="struct.TxGraph.html#method.try_list_canonical_txs" title="method bdk_chain::tx_graph::TxGraph::try_list_canonical_txs"><code>try_list_canonical_txs</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_filter_chain_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1040-1083">source</a><h4 class="code-header">pub fn <a href="#method.try_filter_chain_txouts" class="fn">try_filter_chain_txouts</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_filter_chain_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1039-1082">source</a><h4 class="code-header">pub fn <a href="#method.try_filter_chain_txouts" class="fn">try_filter_chain_txouts</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
&'a self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
fails.</p>
<p>If the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> implementation is infallible, <a href="struct.TxGraph.html#method.filter_chain_txouts" title="method bdk_chain::tx_graph::TxGraph::filter_chain_txouts"><code>filter_chain_txouts</code></a> can be used
instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.filter_chain_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1091-1099">source</a><h4 class="code-header">pub fn <a href="#method.filter_chain_txouts" class="fn">filter_chain_txouts</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.filter_chain_txouts" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1090-1098">source</a><h4 class="code-header">pub fn <a href="#method.filter_chain_txouts" class="fn">filter_chain_txouts</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
&'a self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OI, <a class="struct" href="../struct.FullTxOut.html" title="struct bdk_chain::FullTxOut">FullTxOut</a><A>)> + 'a</h4></section></summary><div class="docblock"><p>Get a filtered list of outputs from the given <code>outpoints</code> that are in <code>chain</code> with
<code>chain_tip</code>.</p>
<p>This is the infallible version of <a href="struct.TxGraph.html#method.try_filter_chain_txouts" title="method bdk_chain::tx_graph::TxGraph::try_filter_chain_txouts"><code>try_filter_chain_txouts</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_filter_chain_unspents" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1119-1132">source</a><h4 class="code-header">pub fn <a href="#method.try_filter_chain_unspents" class="fn">try_filter_chain_unspents</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_filter_chain_unspents" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1118-1131">source</a><h4 class="code-header">pub fn <a href="#method.try_filter_chain_unspents" class="fn">try_filter_chain_unspents</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
&'a self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
fails.</p>
<p>If the <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> implementation is infallible, <a href="struct.TxGraph.html#method.filter_chain_unspents" title="method bdk_chain::tx_graph::TxGraph::filter_chain_unspents"><code>filter_chain_unspents</code></a> can be used
instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.filter_chain_unspents" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1140-1148">source</a><h4 class="code-header">pub fn <a href="#method.filter_chain_unspents" class="fn">filter_chain_unspents</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.filter_chain_unspents" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1139-1147">source</a><h4 class="code-header">pub fn <a href="#method.filter_chain_unspents" class="fn">filter_chain_unspents</a><'a, C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>> + 'a, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'a>(
&'a self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (OI, <a class="struct" href="../struct.FullTxOut.html" title="struct bdk_chain::FullTxOut">FullTxOut</a><A>)> + 'a</h4></section></summary><div class="docblock"><p>Get a filtered list of unspent outputs (UTXOs) from the given <code>outpoints</code> that are in
<code>chain</code> with <code>chain_tip</code>.</p>
<p>This is the infallible version of <a href="struct.TxGraph.html#method.try_filter_chain_unspents" title="method bdk_chain::tx_graph::TxGraph::try_filter_chain_unspents"><code>try_filter_chain_unspents</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_balance" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1162-1201">source</a><h4 class="code-header">pub fn <a href="#method.try_balance" class="fn">try_balance</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a>, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_balance" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1161-1200">source</a><h4 class="code-header">pub fn <a href="#method.try_balance" class="fn">try_balance</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a>, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
&self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (OI, OutPoint)>,
trust_predicate: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&OI</a>, &Script) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../keychain/struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a>, C::<a class="associatedtype" href="../trait.ChainOracle.html#associatedtype.Error" title="type bdk_chain::ChainOracle::Error">Error</a>></h4></section></summary><div class="docblock"><p>Get the total balance of <code>outpoints</code> that are in <code>chain</code> of <code>chain_tip</code>.</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../struct.Balance.html" title="struct bdk_chain::Balance">Balance</a>, C::<a class="associatedtype" href="../trait.ChainOracle.html#associatedtype.Error" title="type bdk_chain::ChainOracle::Error">Error</a>></h4></section></summary><div class="docblock"><p>Get the total balance of <code>outpoints</code> that are in <code>chain</code> of <code>chain_tip</code>.</p>
<p>The output of <code>trust_predicate</code> should return <code>true</code> for scripts that we trust.</p>
<p><code>outpoints</code> is a list of outpoints we are interested in, coupled with an outpoint identifier
(<code>OI</code>) for convenience. If <code>OI</code> is not necessary, the caller can use <code>()</code>, or
<a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#method.enumerate" title="method core::iter::traits::iterator::Iterator::enumerate"><code>Iterator::enumerate</code></a> over a list of [<code>OutPoint</code>]s.</p>
<p>If the provided <a href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle"><code>ChainOracle</code></a> implementation (<code>chain</code>) is infallible, <a href="struct.TxGraph.html#method.balance" title="method bdk_chain::tx_graph::TxGraph::balance"><code>balance</code></a> can be
used instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.balance" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1208-1217">source</a><h4 class="code-header">pub fn <a href="#method.balance" class="fn">balance</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>>, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.balance" class="method"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1207-1216">source</a><h4 class="code-header">pub fn <a href="#method.balance" class="fn">balance</a><C: <a class="trait" href="../trait.ChainOracle.html" title="trait bdk_chain::ChainOracle">ChainOracle</a><Error = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>>, OI: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
&self,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&C</a>,
chain_tip: <a class="struct" href="../struct.BlockId.html" title="struct bdk_chain::BlockId">BlockId</a>,
outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (OI, OutPoint)>,
trust_predicate: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&OI</a>, &Script) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
-) -> <a class="struct" href="../keychain/struct.Balance.html" title="struct bdk_chain::keychain::Balance">Balance</a></h4></section></summary><div class="docblock"><p>Get the total balance of <code>outpoints</code> that are in <code>chain</code> of <code>chain_tip</code>.</p>
+) -> <a class="struct" href="../struct.Balance.html" title="struct bdk_chain::Balance">Balance</a></h4></section></summary><div class="docblock"><p>Get the total balance of <code>outpoints</code> that are in <code>chain</code> of <code>chain_tip</code>.</p>
<p>This is the infallible version of <a href="struct.TxGraph.html#method.try_balance" title="method bdk_chain::tx_graph::TxGraph::try_balance"><code>try_balance</code></a>.</p>
-</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-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#356-360">source</a><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>> for <a class="struct" href="../indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#357-359">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsRef%3CTxGraph%3CA%3E%3E-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1343-1347">source</a><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>> for <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1344-1346">source</a><a href="#method.as_ref-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><a href="#impl-Clone-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><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>(&self) -> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><a href="#impl-Debug-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#123-133">source</a><a href="#impl-Default-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#124-132">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><a href="#impl-PartialEq-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><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>(&self, other: &<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>) -> <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
+</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-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#334-338">source</a><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E" class="anchor">§</a><h3 class="code-header">impl<A, I> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>> for <a class="struct" href="../indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, I></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/indexed_tx_graph.rs.html#335-337">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsRef%3CTxGraph%3CA%3E%3E-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1342-1346">source</a><a href="#impl-AsRef%3CTxGraph%3CA%3E%3E-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>> for <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref-1" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#1343-1345">source</a><a href="#method.as_ref-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><a href="#impl-Clone-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><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>(&self) -> <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><a href="#impl-Debug-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#122-132">source</a><a href="#impl-Default-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#123-131">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><a href="#impl-PartialEq-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><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>(&self, other: &<a class="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#110">source</a><a href="#impl-StructuralPartialEq-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><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-TxGraph%3CA%3E" class="impl"><a href="#impl-Freeze-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section><section id="impl-RefUnwindSafe-for-TxGraph%3CA%3E" class="impl"><a href="#impl-RefUnwindSafe-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A><div class="where">where
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-StructuralPartialEq-for-TxGraph%3CA%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#109">source</a><a href="#impl-StructuralPartialEq-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><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-TxGraph%3CA%3E" class="impl"><a href="#impl-Freeze-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section><section id="impl-RefUnwindSafe-for-TxGraph%3CA%3E" class="impl"><a href="#impl-RefUnwindSafe-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A><div class="where">where
A: <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>,</div></h3></section><section id="impl-Send-for-TxGraph%3CA%3E" class="impl"><a href="#impl-Send-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-TxGraph%3CA%3E" class="impl"><a href="#impl-Sync-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A><div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-TxGraph%3CA%3E" class="impl"><a href="#impl-Unpin-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A></h3></section><section id="impl-UnwindSafe-for-TxGraph%3CA%3E" class="impl"><a href="#impl-UnwindSafe-for-TxGraph%3CA%3E" class="anchor">§</a><h3 class="code-header">impl<A> <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="struct" href="struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A><div class="where">where
-<!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 transaction node in the `TxGraph`."><title>TxNode in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxNode</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.anchors">anchors</a></li><li><a href="#structfield.last_seen_unconfirmed">last_seen_unconfirmed</a></li><li><a href="#structfield.tx">tx</a></li><li><a href="#structfield.txid">txid</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-TxNode%3C'a,+T,+A%3E">Clone</a></li><li><a href="#impl-Debug-for-TxNode%3C'a,+T,+A%3E">Debug</a></li><li><a href="#impl-Deref-for-TxNode%3C'a,+T,+A%3E">Deref</a></li><li><a href="#impl-Eq-for-TxNode%3C'a,+T,+A%3E">Eq</a></li><li><a href="#impl-Ord-for-TxNode%3C'a,+T,+A%3E">Ord</a></li><li><a href="#impl-PartialEq-for-TxNode%3C'a,+T,+A%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-TxNode%3C'a,+T,+A%3E">PartialOrd</a></li><li><a href="#impl-StructuralPartialEq-for-TxNode%3C'a,+T,+A%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxNode%3C'a,+T,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxNode%3C'a,+T,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxNode%3C'a,+T,+A%3E">Send</a></li><li><a href="#impl-Sync-for-TxNode%3C'a,+T,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxNode%3C'a,+T,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxNode%3C'a,+T,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxNode</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#137-146">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxNode<'a, T, A> {
+<!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 transaction node in the `TxGraph`."><title>TxNode in bdk_chain::tx_graph - 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">TxNode</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.anchors">anchors</a></li><li><a href="#structfield.last_seen_unconfirmed">last_seen_unconfirmed</a></li><li><a href="#structfield.tx">tx</a></li><li><a href="#structfield.txid">txid</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-TxNode%3C'a,+T,+A%3E">Clone</a></li><li><a href="#impl-Debug-for-TxNode%3C'a,+T,+A%3E">Debug</a></li><li><a href="#impl-Deref-for-TxNode%3C'a,+T,+A%3E">Deref</a></li><li><a href="#impl-Eq-for-TxNode%3C'a,+T,+A%3E">Eq</a></li><li><a href="#impl-Ord-for-TxNode%3C'a,+T,+A%3E">Ord</a></li><li><a href="#impl-PartialEq-for-TxNode%3C'a,+T,+A%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-TxNode%3C'a,+T,+A%3E">PartialOrd</a></li><li><a href="#impl-StructuralPartialEq-for-TxNode%3C'a,+T,+A%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TxNode%3C'a,+T,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TxNode%3C'a,+T,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TxNode%3C'a,+T,+A%3E">Send</a></li><li><a href="#impl-Sync-for-TxNode%3C'a,+T,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-TxNode%3C'a,+T,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TxNode%3C'a,+T,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_chain::tx_graph</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>Struct <a href="../index.html">bdk_chain</a>::<wbr><a href="index.html">tx_graph</a>::<wbr><a class="struct" href="#">TxNode</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/tx_graph.rs.html#136-145">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TxNode<'a, T, A> {
pub txid: Txid,
pub tx: T,
pub anchors: &'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><A>,
</div><span id="structfield.tx" class="structfield section-header"><a href="#structfield.tx" class="anchor field">§</a><code>tx: T</code></span><div class="docblock"><p>A partial or full representation of the transaction.</p>
</div><span id="structfield.anchors" class="structfield section-header"><a href="#structfield.anchors" class="anchor field">§</a><code>anchors: &'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><A></code></span><div class="docblock"><p>The blocks that the transaction is “anchored” in.</p>
</div><span id="structfield.last_seen_unconfirmed" class="structfield section-header"><a href="#structfield.last_seen_unconfirmed" class="anchor field">§</a><code>last_seen_unconfirmed: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>></code></span><div class="docblock"><p>The last-seen unix timestamp of the transaction as unconfirmed.</p>
-</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-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-Clone-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><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>(&self) -> <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-Debug-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Deref-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#148-154">source</a><a href="#impl-Deref-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = T</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#151-153">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&self) -> &Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-Ord-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&self, other: &<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -> Self<div class="where">where
+</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-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-Clone-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><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>(&self) -> <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-Debug-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Deref-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#147-153">source</a><a href="#impl-Deref-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = T</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#150-152">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&self) -> &Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-Ord-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&self, other: &<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -> Self<div class="where">where
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'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -> Self<div class="where">where
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'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -> Self<div class="where">where
- Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-PartialEq-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><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>(&self, other: &<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>) -> <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
+ Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-PartialEq-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><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>(&self, other: &<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-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-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-PartialOrd-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, 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 class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><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>(&self, other: &<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><=</code>
+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-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-PartialOrd-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, 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 class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><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>(&self, other: &<a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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><=</code>
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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>></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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>>=</code>
-operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Eq-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-Eq-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>, A: <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/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section><section id="impl-StructuralPartialEq-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#136">source</a><a href="#impl-StructuralPartialEq-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, 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-TxNode%3C'a,+T,+A%3E" class="impl"><a href="#impl-Freeze-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A><div class="where">where
+operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Eq-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-Eq-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>, A: <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/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A></h3></section><section id="impl-StructuralPartialEq-for-TxNode%3C'a,+T,+A%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/tx_graph.rs.html#135">source</a><a href="#impl-StructuralPartialEq-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, 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-TxNode%3C'a,+T,+A%3E" class="impl"><a href="#impl-Freeze-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A><div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-TxNode%3C'a,+T,+A%3E" class="impl"><a href="#impl-RefUnwindSafe-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A><div class="where">where
T: <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>,
A: <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>,</div></h3></section><section id="impl-Send-for-TxNode%3C'a,+T,+A%3E" class="impl"><a href="#impl-Send-for-TxNode%3C'a,+T,+A%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T, A> <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="struct" href="struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'a, T, A><div class="where">where
--- /dev/null
+<!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 tuple of keychain index and `T` representing the indexed value."><title>Indexed in bdk_chain - 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">Indexed</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate bdk_chain</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>Type Alias <a href="index.html">bdk_chain</a>::<wbr><a class="type" href="#">Indexed</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/lib.rs.html#104">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type Indexed<T> = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, T);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A tuple of keychain index and <code>T</code> representing the indexed value.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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 tuple of keychain `K`, derivation index (`u32`) and a `T` associated with them."><title>KeychainIndexed in bdk_chain - 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_chain/index.html">bdk_chain</a><span class="version">0.16.0</span></h2></div><h2 class="location"><a href="#">KeychainIndexed</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate bdk_chain</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>Type Alias <a href="index.html">bdk_chain</a>::<wbr><a class="type" href="#">KeychainIndexed</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_chain/lib.rs.html#106">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type KeychainIndexed<K, T> = ((K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>), T);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A tuple of keychain <code>K</code>, derivation index (<code>u32</code>) and a <code>T</code> associated with them.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="This crate is used for updating structures of `bdk_chain` with data from an Electrum server."><title>bdk_electrum - 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_electrum" 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="../crates.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 mod crate"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_electrum/index.html">bdk_electrum</a><span class="version">0.15.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#structs">Structs</a></li></ul></section></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>Crate <a class="mod" href="#">bdk_electrum</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_electrum/lib.rs.html#1-22">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This crate is used for updating structures of <a href="../bdk_chain/index.html" title="mod bdk_chain"><code>bdk_chain</code></a> with data from an Electrum server.</p>
+<!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="This crate is used for updating structures of `bdk_chain` with data from an Electrum server."><title>bdk_electrum - 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_electrum" 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="../crates.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 mod crate"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_electrum/index.html">bdk_electrum</a><span class="version">0.15.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#structs">Structs</a></li></ul></section></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>Crate <a class="mod" href="#">bdk_electrum</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_electrum/lib.rs.html#1-22">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This crate is used for updating structures of [<code>bdk_chain</code>] with data from an Electrum server.</p>
<p>The two primary methods are <a href="struct.BdkElectrumClient.html#method.sync" title="method bdk_electrum::BdkElectrumClient::sync"><code>BdkElectrumClient::sync</code></a> and <a href="struct.BdkElectrumClient.html#method.full_scan" title="method bdk_electrum::BdkElectrumClient::full_scan"><code>BdkElectrumClient::full_scan</code></a>. In most cases
<a href="struct.BdkElectrumClient.html#method.sync" title="method bdk_electrum::BdkElectrumClient::sync"><code>BdkElectrumClient::sync</code></a> is used to sync the transaction histories of scripts that the application
cares about, for example the scripts for all the receive addresses of a Wallet’s keychain that it
keychain where the range of possibly used scripts is not known. In this case it is necessary to
scan all keychain scripts until a number (the “stop gap”) of unused scripts is discovered. For a
sync or full scan the user receives relevant blockchain data and output updates for
-<a href="../bdk_chain/index.html" title="mod bdk_chain"><code>bdk_chain</code></a>.</p>
+[<code>bdk_chain</code>].</p>
<p>Refer to <a href="https://github.com/bitcoindevkit/bdk/tree/master/example-crates/example_electrum"><code>example_electrum</code></a> for a complete example.</p>
-</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.bdk_chain"><code>pub use <a class="mod" href="../bdk_chain/index.html" title="mod bdk_chain">bdk_chain</a>;</code></div></li><li><div class="item-name" id="reexport.electrum_client"><code>pub use electrum_client;</code></div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BdkElectrumClient.html" title="struct bdk_electrum::BdkElectrumClient">BdkElectrumClient</a></div><div class="desc docblock-short">Wrapper around an [<code>electrum_client::ElectrumApi</code>] which includes an internal in-memory
+</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.bdk_chain"><code>pub use bdk_chain;</code></div></li><li><div class="item-name" id="reexport.electrum_client"><code>pub use electrum_client;</code></div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BdkElectrumClient.html" title="struct bdk_electrum::BdkElectrumClient">BdkElectrumClient</a></div><div class="desc docblock-short">Wrapper around an [<code>electrum_client::ElectrumApi</code>] which includes an internal in-memory
transaction cache to avoid re-fetching already downloaded transactions.</div></li><li><div class="item-name"><a class="struct" href="struct.ElectrumFullScanResult.html" title="struct bdk_electrum::ElectrumFullScanResult">ElectrumFullScanResult</a></div><div class="desc docblock-short">The result of <a href="struct.BdkElectrumClient.html#method.full_scan" title="method bdk_electrum::BdkElectrumClient::full_scan"><code>BdkElectrumClient::full_scan</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></div><div class="desc docblock-short">The result of <a href="struct.BdkElectrumClient.html#method.sync" title="method bdk_electrum::BdkElectrumClient::sync"><code>BdkElectrumClient::sync</code></a>.</div></li></ul></section></div></main></body></html>
\ No newline at end of file
transaction cache to avoid re-fetching already downloaded transactions.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.inner" class="structfield section-header"><a href="#structfield.inner" class="anchor field">§</a><code>inner: E</code></span><div class="docblock"><p>The internal [<code>electrum_client::ElectrumApi</code>]</p>
</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-BdkElectrumClient%3CE%3E" class="impl"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#26-391">source</a><a href="#impl-BdkElectrumClient%3CE%3E" class="anchor">§</a><h3 class="code-header">impl<E: ElectrumApi> <a class="struct" href="struct.BdkElectrumClient.html" title="struct bdk_electrum::BdkElectrumClient">BdkElectrumClient</a><E></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#28-33">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(client: E) -> Self</h4></section></summary><div class="docblock"><p>Creates a new bdk client from a [<code>electrum_client::ElectrumApi</code>]</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.populate_tx_cache" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#37-47">source</a><h4 class="code-header">pub fn <a href="#method.populate_tx_cache" class="fn">populate_tx_cache</a><A>(&self, tx_graph: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><A>>)</h4></section></summary><div class="docblock"><p>Inserts transactions into the transaction cache so that the client will not fetch these
+</div></details><details class="toggle method-toggle" open><summary><section id="method.populate_tx_cache" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#37-47">source</a><h4 class="code-header">pub fn <a href="#method.populate_tx_cache" class="fn">populate_tx_cache</a><A>(&self, tx_graph: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><TxGraph<A>>)</h4></section></summary><div class="docblock"><p>Inserts transactions into the transaction cache so that the client will not fetch these
transactions.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.fetch_tx" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#52-66">source</a><h4 class="code-header">pub fn <a href="#method.fetch_tx" class="fn">fetch_tx</a>(&self, txid: Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, Error></h4></section></summary><div class="docblock"><p>Fetch transaction of given <code>txid</code>.</p>
<p>If it hits the cache it will return the cached version and avoid making the request.</p>
<p>This is a re-export of [<code>ElectrumApi::transaction_broadcast</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.full_scan" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#85-172">source</a><h4 class="code-header">pub fn <a href="#method.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
fetch_prev_txouts: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.ElectrumFullScanResult.html" title="struct bdk_electrum::ElectrumFullScanResult">ElectrumFullScanResult</a><K>, Error></h4></section></summary><div class="docblock"><p>Full scan the keychain scripts specified with the blockchain (via an Electrum client) and
-returns updates for <a href="../bdk_chain/index.html" title="mod bdk_chain"><code>bdk_chain</code></a> data structures.</p>
+returns updates for [<code>bdk_chain</code>] data structures.</p>
<ul>
<li><code>request</code>: struct with data required to perform a spk-based blockchain client full scan,
-see <a href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a></li>
+see [<code>FullScanRequest</code>]</li>
<li><code>stop_gap</code>: the full scan for each keychain stops after a gap of script pubkeys with no
associated transactions</li>
<li><code>batch_size</code>: specifies the max number of script pubkeys to request for in a single batch
</ul>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sync" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#188-219">source</a><h4 class="code-header">pub fn <a href="#method.sync" class="fn">sync</a>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
batch_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
fetch_prev_txouts: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a>, Error></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Electrum client) for the data specified
-and returns updates for <a href="../bdk_chain/index.html" title="mod bdk_chain"><code>bdk_chain</code></a> data structures.</p>
+and returns updates for [<code>bdk_chain</code>] data structures.</p>
<ul>
<li><code>request</code>: struct with data required to perform a spk-based blockchain client sync,
-see <a href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a></li>
+see [<code>SyncRequest</code>]</li>
<li><code>batch_size</code>: specifies the max number of script pubkeys to request for in a single batch
request</li>
<li><code>fetch_prev_txouts</code>: specifies whether or not we want previous <code>TxOut</code>s for fee
<!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="The result of `BdkElectrumClient::full_scan`."><title>ElectrumFullScanResult in bdk_electrum - 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_electrum" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_electrum/index.html">bdk_electrum</a><span class="version">0.15.0</span></h2></div><h2 class="location"><a href="#">ElectrumFullScanResult</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.with_confirmation_height_anchor">with_confirmation_height_anchor</a></li><li><a href="#method.with_confirmation_time_height_anchor">with_confirmation_time_height_anchor</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ElectrumFullScanResult%3CK%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ElectrumFullScanResult%3CK%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ElectrumFullScanResult%3CK%3E">Send</a></li><li><a href="#impl-Sync-for-ElectrumFullScanResult%3CK%3E">Sync</a></li><li><a href="#impl-Unpin-for-ElectrumFullScanResult%3CK%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ElectrumFullScanResult%3CK%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_electrum</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>Struct <a href="index.html">bdk_electrum</a>::<wbr><a class="struct" href="#">ElectrumFullScanResult</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_electrum/bdk_electrum_client.rs.html#397">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ElectrumFullScanResult<K>(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The result of <a href="struct.BdkElectrumClient.html#method.full_scan" title="method bdk_electrum::BdkElectrumClient::full_scan"><code>BdkElectrumClient::full_scan</code></a>.</p>
-<p>This can be transformed into a <a href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult"><code>FullScanResult</code></a> with either <a href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor"><code>ConfirmationHeightAnchor</code></a> or
-<a href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor"><code>ConfirmationTimeHeightAnchor</code></a> anchor types.</p>
+<p>This can be transformed into a [<code>FullScanResult</code>] with either [<code>ConfirmationHeightAnchor</code>] or
+[<code>ConfirmationTimeHeightAnchor</code>] anchor types.</p>
</div></details><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-ElectrumFullScanResult%3CK%3E" class="impl"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#399-419">source</a><a href="#impl-ElectrumFullScanResult%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <a class="struct" href="struct.ElectrumFullScanResult.html" title="struct bdk_electrum::ElectrumFullScanResult">ElectrumFullScanResult</a><K></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_confirmation_height_anchor" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#401-403">source</a><h4 class="code-header">pub fn <a href="#method.with_confirmation_height_anchor" class="fn">with_confirmation_height_anchor</a>(
self
-) -> <a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K, <a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor">ConfirmationHeightAnchor</a>></h4></section></summary><div class="docblock"><p>Return <a href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult"><code>FullScanResult</code></a> with <a href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor"><code>ConfirmationHeightAnchor</code></a>.</p>
+) -> FullScanResult<K, ConfirmationHeightAnchor></h4></section></summary><div class="docblock"><p>Return [<code>FullScanResult</code>] with [<code>ConfirmationHeightAnchor</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_confirmation_time_height_anchor" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#408-418">source</a><h4 class="code-header">pub fn <a href="#method.with_confirmation_time_height_anchor" class="fn">with_confirmation_time_height_anchor</a>(
self,
client: &<a class="struct" href="struct.BdkElectrumClient.html" title="struct bdk_electrum::BdkElectrumClient">BdkElectrumClient</a><impl ElectrumApi>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K, <a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error></h4></section></summary><div class="docblock"><p>Return <a href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult"><code>FullScanResult</code></a> with <a href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor"><code>ConfirmationTimeHeightAnchor</code></a>.</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K, ConfirmationTimeHeightAnchor>, Error></h4></section></summary><div class="docblock"><p>Return [<code>FullScanResult</code>] with [<code>ConfirmationTimeHeightAnchor</code>].</p>
<p>This requires additional calls to the Electrum server.</p>
</div></details></div></details></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-ElectrumFullScanResult%3CK%3E" class="impl"><a href="#impl-Freeze-for-ElectrumFullScanResult%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ElectrumFullScanResult.html" title="struct bdk_electrum::ElectrumFullScanResult">ElectrumFullScanResult</a><K></h3></section><section id="impl-RefUnwindSafe-for-ElectrumFullScanResult%3CK%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ElectrumFullScanResult%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ElectrumFullScanResult.html" title="struct bdk_electrum::ElectrumFullScanResult">ElectrumFullScanResult</a><K><div class="where">where
K: <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>,</div></h3></section><section id="impl-Send-for-ElectrumFullScanResult%3CK%3E" class="impl"><a href="#impl-Send-for-ElectrumFullScanResult%3CK%3E" class="anchor">§</a><h3 class="code-header">impl<K> <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="struct" href="struct.ElectrumFullScanResult.html" title="struct bdk_electrum::ElectrumFullScanResult">ElectrumFullScanResult</a><K><div class="where">where
<!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="The result of `BdkElectrumClient::sync`."><title>ElectrumSyncResult in bdk_electrum - 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_electrum" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_electrum/index.html">bdk_electrum</a><span class="version">0.15.0</span></h2></div><h2 class="location"><a href="#">ElectrumSyncResult</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.with_confirmation_height_anchor">with_confirmation_height_anchor</a></li><li><a href="#method.with_confirmation_time_height_anchor">with_confirmation_time_height_anchor</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ElectrumSyncResult">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ElectrumSyncResult">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ElectrumSyncResult">Send</a></li><li><a href="#impl-Sync-for-ElectrumSyncResult">Sync</a></li><li><a href="#impl-Unpin-for-ElectrumSyncResult">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ElectrumSyncResult">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_electrum</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>Struct <a href="index.html">bdk_electrum</a>::<wbr><a class="struct" href="#">ElectrumSyncResult</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_electrum/bdk_electrum_client.rs.html#425">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct ElectrumSyncResult(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The result of <a href="struct.BdkElectrumClient.html#method.sync" title="method bdk_electrum::BdkElectrumClient::sync"><code>BdkElectrumClient::sync</code></a>.</p>
-<p>This can be transformed into a <a href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult"><code>SyncResult</code></a> with either <a href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor"><code>ConfirmationHeightAnchor</code></a> or
-<a href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor"><code>ConfirmationTimeHeightAnchor</code></a> anchor types.</p>
+<p>This can be transformed into a [<code>SyncResult</code>] with either [<code>ConfirmationHeightAnchor</code>] or
+[<code>ConfirmationTimeHeightAnchor</code>] anchor types.</p>
</div></details><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-ElectrumSyncResult" class="impl"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#427-446">source</a><a href="#impl-ElectrumSyncResult" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_confirmation_height_anchor" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#429-431">source</a><h4 class="code-header">pub fn <a href="#method.with_confirmation_height_anchor" class="fn">with_confirmation_height_anchor</a>(
self
-) -> <a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor">ConfirmationHeightAnchor</a>></h4></section></summary><div class="docblock"><p>Return <a href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult"><code>SyncResult</code></a> with <a href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor"><code>ConfirmationHeightAnchor</code></a>.</p>
+) -> SyncResult<ConfirmationHeightAnchor></h4></section></summary><div class="docblock"><p>Return [<code>SyncResult</code>] with [<code>ConfirmationHeightAnchor</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_confirmation_time_height_anchor" class="method"><a class="src rightside" href="../src/bdk_electrum/bdk_electrum_client.rs.html#436-445">source</a><h4 class="code-header">pub fn <a href="#method.with_confirmation_time_height_anchor" class="fn">with_confirmation_time_height_anchor</a>(
self,
client: &<a class="struct" href="struct.BdkElectrumClient.html" title="struct bdk_electrum::BdkElectrumClient">BdkElectrumClient</a><impl ElectrumApi>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error></h4></section></summary><div class="docblock"><p>Return <a href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult"><code>SyncResult</code></a> with <a href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor"><code>ConfirmationTimeHeightAnchor</code></a>.</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult<ConfirmationTimeHeightAnchor>, Error></h4></section></summary><div class="docblock"><p>Return [<code>SyncResult</code>] with [<code>ConfirmationTimeHeightAnchor</code>].</p>
<p>This requires additional calls to the Electrum server.</p>
</div></details></div></details></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-ElectrumSyncResult" class="impl"><a href="#impl-Freeze-for-ElectrumSyncResult" 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="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></h3></section><section id="impl-RefUnwindSafe-for-ElectrumSyncResult" class="impl"><a href="#impl-RefUnwindSafe-for-ElectrumSyncResult" 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="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></h3></section><section id="impl-Send-for-ElectrumSyncResult" class="impl"><a href="#impl-Send-for-ElectrumSyncResult" 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="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></h3></section><section id="impl-Sync-for-ElectrumSyncResult" class="impl"><a href="#impl-Sync-for-ElectrumSyncResult" 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="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></h3></section><section id="impl-Unpin-for-ElectrumSyncResult" class="impl"><a href="#impl-Unpin-for-ElectrumSyncResult" 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="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</a></h3></section><section id="impl-UnwindSafe-for-ElectrumSyncResult" class="impl"><a href="#impl-UnwindSafe-for-ElectrumSyncResult" 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="struct" href="struct.ElectrumSyncResult.html" title="struct bdk_electrum::ElectrumSyncResult">ElectrumSyncResult</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
keychain where the range of possibly used scripts is not known. In this case it is necessary to
scan all keychain scripts until a number (the “stop gap”) of unused scripts is discovered. For a
sync or full scan the user receives relevant blockchain data and output updates for <a href="https://docs.rs/bdk-chain/"><code>bdk_chain</code></a>
-via a new <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> to be appended to any existing <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> data.</p>
+via a new <a href="bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> to be appended to any existing <a href="bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a> data.</p>
<p>Refer to <a href="https://github.com/bitcoindevkit/bdk/tree/master/example-crates/example_esplora"><code>example_esplora</code></a> for a complete example.</p>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name" id="reexport.esplora_client"><code>pub use esplora_client;</code></div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.EsploraAsyncExt.html" title="trait bdk_esplora::EsploraAsyncExt">EsploraAsyncExt</a></div><div class="desc docblock-short">Trait to extend the functionality of [<code>esplora_client::AsyncClient</code>].</div></li><li><div class="item-name"><a class="trait" href="trait.EsploraExt.html" title="trait bdk_esplora::EsploraExt">EsploraExt</a></div><div class="desc docblock-short">Trait to extend the functionality of [<code>esplora_client::BlockingClient</code>].</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a></div><div class="desc docblock-short">[<code>esplora_client::Error</code>]</div></li></ul></section></div></main></body></html>
\ No newline at end of file
// Required methods
fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(
&'life0 self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
- ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>>
+ ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>>
<span class="where">where K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(
&'life0 self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
- ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>>
+ ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>>
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait to extend the functionality of [<code>esplora_client::AsyncClient</code>].</p>
<p>Refer to <a href="index.html" title="mod bdk_esplora">crate-level documentation</a> for more.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.full_scan" class="method"><a class="src rightside" href="../src/bdk_esplora/async_ext.rs.html#50-55">source</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(
&'life0 self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
+) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Scan keychain scripts for transactions against Esplora, returning an update that can be
applied to the receiving structures.</p>
<ul>
<li><code>request</code>: struct with data required to perform a spk-based blockchain client full scan,
-see <a href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a></li>
+see [<code>FullScanRequest</code>]</li>
</ul>
<p>The full scan for each keychain stops after a gap of <code>stop_gap</code> script pubkeys with no
associated transactions. <code>parallel_requests</code> specifies the max number of HTTP requests to
<p>A <code>stop_gap</code> of 0 will be treated as a <code>stop_gap</code> of 1.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sync" class="method"><a class="src rightside" href="../src/bdk_esplora/async_ext.rs.html#67-71">source</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(
&'life0 self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
+) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
-specified and return a <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+specified and return a [<code>TxGraph</code>].</p>
<ul>
<li><code>request</code>: struct with data required to perform a spk-based blockchain client sync, see
-<a href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a></li>
+[<code>SyncRequest</code>]</li>
</ul>
<p>If the scripts to sync are unknown, such as when restoring or importing a keychain that
may include scripts that have been used, use <a href="trait.EsploraAsyncExt.html#tymethod.full_scan" title="method bdk_esplora::EsploraAsyncExt::full_scan"><code>full_scan</code></a> with the keychain.</p>
</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-EsploraAsyncExt-for-AsyncClient" class="impl"><a class="src rightside" href="../src/bdk_esplora/async_ext.rs.html#76-131">source</a><a href="#impl-EsploraAsyncExt-for-AsyncClient" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.EsploraAsyncExt.html" title="trait bdk_esplora::EsploraAsyncExt">EsploraAsyncExt</a> for AsyncClient</h3></section></summary><div class="impl-items"><section id="method.full_scan" class="method trait-impl"><a class="src rightside" href="../src/bdk_esplora/async_ext.rs.html#77-103">source</a><a href="#method.full_scan" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(
&'life0 self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
+) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section><section id="method.sync" class="method trait-impl"><a class="src rightside" href="../src/bdk_esplora/async_ext.rs.html#105-130">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(
&'life0 self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
+) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Error>>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/bdk_esplora/async_ext/trait.EsploraAsyncExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main></body></html>
\ No newline at end of file
// Required methods
fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
- ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>>;
+ ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>>;
<span class="item-spacer"></span> fn <a href="#tymethod.sync" class="fn">sync</a>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
- ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>>;
+ ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait to extend the functionality of [<code>esplora_client::BlockingClient</code>].</p>
<p>Refer to <a href="index.html" title="mod bdk_esplora">crate-level documentation</a> for more.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.full_scan" class="method"><a class="src rightside" href="../src/bdk_esplora/blocking_ext.rs.html#47-52">source</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section></summary><div class="docblock"><p>Scan keychain scripts for transactions against Esplora, returning an update that can be
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section></summary><div class="docblock"><p>Scan keychain scripts for transactions against Esplora, returning an update that can be
applied to the receiving structures.</p>
<ul>
<li><code>request</code>: struct with data required to perform a spk-based blockchain client full scan,
-see <a href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest"><code>FullScanRequest</code></a></li>
+see [<code>FullScanRequest</code>]</li>
</ul>
<p>The full scan for each keychain stops after a gap of <code>stop_gap</code> script pubkeys with no
associated transactions. <code>parallel_requests</code> specifies the max number of HTTP requests to
<p>A <code>stop_gap</code> of 0 will be treated as a <code>stop_gap</code> of 1.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.sync" class="method"><a class="src rightside" href="../src/bdk_esplora/blocking_ext.rs.html#64">source</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
-specified and return a <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
+specified and return a [<code>TxGraph</code>].</p>
<ul>
<li><code>request</code>: struct with data required to perform a spk-based blockchain client sync, see
-<a href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a></li>
+[<code>SyncRequest</code>]</li>
</ul>
<p>If the scripts to sync are unknown, such as when restoring or importing a keychain that
may include scripts that have been used, use <a href="trait.EsploraExt.html#tymethod.full_scan" title="method bdk_esplora::EsploraExt::full_scan"><code>full_scan</code></a> with the keychain.</p>
</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-EsploraExt-for-BlockingClient" class="impl"><a class="src rightside" href="../src/bdk_esplora/blocking_ext.rs.html#67-114">source</a><a href="#impl-EsploraExt-for-BlockingClient" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.EsploraExt.html" title="trait bdk_esplora::EsploraExt">EsploraExt</a> for BlockingClient</h3></section></summary><div class="impl-items"><section id="method.full_scan" class="method trait-impl"><a class="src rightside" href="../src/bdk_esplora/blocking_ext.rs.html#68-92">source</a><a href="#method.full_scan" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><K>,
+ request: FullScanRequest<K>,
stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><K>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section><section id="method.sync" class="method trait-impl"><a class="src rightside" href="../src/bdk_esplora/blocking_ext.rs.html#94-113">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FullScanResult<K>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section><section id="method.sync" class="method trait-impl"><a class="src rightside" href="../src/bdk_esplora/blocking_ext.rs.html#94-113">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(
&self,
- request: <a class="struct" href="../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a>,
+ request: SyncRequest,
parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/bdk_esplora/blocking_ext/trait.EsploraExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main></body></html>
\ No newline at end of file
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><SyncResult, <a class="type" href="type.Error.html" title="type bdk_esplora::Error">Error</a>></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/bdk_esplora/blocking_ext/trait.EsploraExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main></body></html>
\ No newline at end of file
<!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="Persists an append-only list of changesets (`C`) to a single file."><title>Store in bdk_file_store - 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_file_store" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_file_store/index.html">bdk_file_store</a><span class="version">0.13.0</span></h2></div><h2 class="location"><a href="#">Store</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.aggregate_changesets">aggregate_changesets</a></li><li><a href="#method.append_changeset">append_changeset</a></li><li><a href="#method.create_new">create_new</a></li><li><a href="#method.iter_changesets">iter_changesets</a></li><li><a href="#method.open">open</a></li><li><a href="#method.open_or_create_new">open_or_create_new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Store%3CC%3E">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Store%3CC%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Store%3CC%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Store%3CC%3E">Send</a></li><li><a href="#impl-Sync-for-Store%3CC%3E">Sync</a></li><li><a href="#impl-Unpin-for-Store%3CC%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Store%3CC%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_file_store</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>Struct <a href="index.html">bdk_file_store</a>::<wbr><a class="struct" href="#">Store</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_file_store/store.rs.html#14-21">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Store<C><div class="where">where
C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div>{ <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Persists an append-only list of changesets (<code>C</code>) to a single file.</p>
</div></details><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-Store%3CC%3E" class="impl"><a class="src rightside" href="../src/bdk_file_store/store.rs.html#23-183">source</a><a href="#impl-Store%3CC%3E" class="anchor">§</a><h3 class="code-header">impl<C> <a class="struct" href="struct.Store.html" title="struct bdk_file_store::Store">Store</a><C><div class="where">where
- C: <a class="trait" href="../bdk_chain/tx_data_traits/trait.Append.html" title="trait bdk_chain::tx_data_traits::Append">Append</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.create_new" class="method"><a class="src rightside" href="../src/bdk_file_store/store.rs.html#37-61">source</a><h4 class="code-header">pub fn <a href="#method.create_new" class="fn">create_new</a><P>(magic: &[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>], file_path: P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="enum.FileError.html" title="enum bdk_file_store::FileError">FileError</a>><div class="where">where
+ C: Append + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.create_new" class="method"><a class="src rightside" href="../src/bdk_file_store/store.rs.html#37-61">source</a><h4 class="code-header">pub fn <a href="#method.create_new" class="fn">create_new</a><P>(magic: &[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>], file_path: P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="enum.FileError.html" title="enum bdk_file_store::FileError">FileError</a>><div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>>,</div></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.Store.html" title="struct bdk_file_store::Store"><code>Store</code></a> file in write-only mode; error if the file exists.</p>
<p><code>magic</code> is the prefixed bytes to write to the new file. This will be checked when opening
the <code>Store</code> in the future with <a href="struct.Store.html#method.open" title="associated function bdk_file_store::Store::open"><code>open</code></a>.</p>
-<!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="Persists data in to a relational schema based SQLite database file."><title>Store in bdk_sqlite - 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_sqlite" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_sqlite/index.html">bdk_sqlite</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">Store</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new">new</a></li><li><a href="#method.read">read</a></li><li><a href="#method.write">write</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Store%3CK,+A%3E">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Store%3CK,+A%3E">!Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Store%3CK,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Store%3CK,+A%3E">Send</a></li><li><a href="#impl-Sync-for-Store%3CK,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-Store%3CK,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Store%3CK,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_sqlite</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>Struct <a href="index.html">bdk_sqlite</a>::<wbr><a class="struct" href="#">Store</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_sqlite/store.rs.html#25-30">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Store<K, A> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Persists data in to a relational schema based <a href="https://www.sqlite.org/index.html">SQLite</a> database file.</p>
+<!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="Persists data in to a relational schema based SQLite database file."><title>Store in bdk_sqlite - 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_sqlite" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bdk_sqlite/index.html">bdk_sqlite</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">Store</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new">new</a></li><li><a href="#method.read">read</a></li><li><a href="#method.write">write</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Store%3CK,+A%3E">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Store%3CK,+A%3E">!Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Store%3CK,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Store%3CK,+A%3E">Send</a></li><li><a href="#impl-Sync-for-Store%3CK,+A%3E">Sync</a></li><li><a href="#impl-Unpin-for-Store%3CK,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Store%3CK,+A%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate bdk_sqlite</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>Struct <a href="index.html">bdk_sqlite</a>::<wbr><a class="struct" href="#">Store</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/bdk_sqlite/store.rs.html#26-31">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Store<K, A> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Persists data in to a relational schema based <a href="https://www.sqlite.org/index.html">SQLite</a> database file.</p>
<p>The changesets loaded or stored represent changes to keychain and blockchain data.</p>
-</div></details><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-Store%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#38-58">source</a><a href="#impl-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
+</div></details><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-Store%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#39-59">source</a><a href="#impl-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
- A: <a class="trait" href="../bdk_chain/tx_data_traits/trait.Anchor.html" title="trait bdk_chain::tx_data_traits::Anchor">Anchor</a> + for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#44-52">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(conn: Connection) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class="docblock"><p>Creates a new store from a [<code>Connection</code>].</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Store%3CK,+A%3E-1" class="impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#466-535">source</a><a href="#impl-Store%3CK,+A%3E-1" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
+ A: Anchor + for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#45-53">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(conn: Connection) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class="docblock"><p>Creates a new store from a [<code>Connection</code>].</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Store%3CK,+A%3E-1" class="impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#467-536">source</a><a href="#impl-Store%3CK,+A%3E-1" class="anchor">§</a><h3 class="code-header">impl<K, A> <a class="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
- A: <a class="trait" href="../bdk_chain/tx_data_traits/trait.Anchor.html" title="trait bdk_chain::tx_data_traits::Anchor">Anchor</a> + for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></summary><div class="docblock"><p>Functions to read and write all <a href="../bdk_chain/changeset/struct.CombinedChangeSet.html" title="struct bdk_chain::changeset::CombinedChangeSet"><code>CombinedChangeSet</code></a> data.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#472-495">source</a><h4 class="code-header">pub fn <a href="#method.write" class="fn">write</a>(
+ A: Anchor + for<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></summary><div class="docblock"><p>Functions to read and write all [<code>CombinedChangeSet</code>] data.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#473-496">source</a><h4 class="code-header">pub fn <a href="#method.write" class="fn">write</a>(
&mut self,
- changeset: &<a class="struct" href="../bdk_chain/changeset/struct.CombinedChangeSet.html" title="struct bdk_chain::changeset::CombinedChangeSet">CombinedChangeSet</a><K, A>
+ changeset: &CombinedChangeSet<K, A>
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.Error.html" title="enum bdk_sqlite::Error">Error</a>></h4></section></summary><div class="docblock"><p>Write the given <code>changeset</code> atomically.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.read" class="method"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#498-534">source</a><h4 class="code-header">pub fn <a href="#method.read" class="fn">read</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../bdk_chain/changeset/struct.CombinedChangeSet.html" title="struct bdk_chain::changeset::CombinedChangeSet">CombinedChangeSet</a><K, A>>, <a class="enum" href="enum.Error.html" title="enum bdk_sqlite::Error">Error</a>></h4></section></summary><div class="docblock"><p>Read the entire database and return the aggregate <a href="../bdk_chain/changeset/struct.CombinedChangeSet.html" title="struct bdk_chain::changeset::CombinedChangeSet"><code>CombinedChangeSet</code></a>.</p>
-</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-Debug-for-Store%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#32-36">source</a><a href="#impl-Debug-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#33-35">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-Store%3CK,+A%3E" class="impl"><a href="#impl-Freeze-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> !<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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A></h3></section><section id="impl-RefUnwindSafe-for-Store%3CK,+A%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
+</div></details><details class="toggle method-toggle" open><summary><section id="method.read" class="method"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#499-535">source</a><h4 class="code-header">pub fn <a href="#method.read" class="fn">read</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><CombinedChangeSet<K, A>>, <a class="enum" href="enum.Error.html" title="enum bdk_sqlite::Error">Error</a>></h4></section></summary><div class="docblock"><p>Read the entire database and return the aggregate [<code>CombinedChangeSet</code>].</p>
+</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-Debug-for-Store%3CK,+A%3E" class="impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#33-37">source</a><a href="#impl-Debug-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_sqlite/store.rs.html#34-36">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-Store%3CK,+A%3E" class="impl"><a href="#impl-Freeze-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> !<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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A></h3></section><section id="impl-RefUnwindSafe-for-Store%3CK,+A%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
K: <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>,
A: <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>,</div></h3></section><section id="impl-Send-for-Store%3CK,+A%3E" class="impl"><a href="#impl-Send-for-Store%3CK,+A%3E" class="anchor">§</a><h3 class="code-header">impl<K, A> <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="struct" href="struct.Store.html" title="struct bdk_sqlite::Store">Store</a><K, A><div class="where">where
K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
<p>This function will return an error if hardened derivation is attempted.</p>
</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-Descriptor%3CPk%3E" class="impl"><a href="#impl-Clone-for-Descriptor%3CPk%3E" class="anchor">§</a><h3 class="code-header">impl<Pk> <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.Descriptor.html" title="enum bdk_wallet::descriptor::Descriptor">Descriptor</a><Pk><div class="where">where
Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey,</div></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>(&self) -> <a class="enum" href="enum.Descriptor.html" title="enum bdk_wallet::descriptor::Descriptor">Descriptor</a><Pk></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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Descriptor%3CPk%3E" class="impl"><a href="#impl-Debug-for-Descriptor%3CPk%3E" class="anchor">§</a><h3 class="code-header">impl<Pk> <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.Descriptor.html" title="enum bdk_wallet::descriptor::Descriptor">Descriptor</a><Pk><div class="where">where
- Pk: MiniscriptKey,</div></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.Debug.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E" class="impl"><a class="src rightside" href="../../src/bdk_chain/descriptor_ext.rs.html#25">source</a><a href="#impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../bdk_chain/descriptor_ext/trait.DescriptorExt.html" title="trait bdk_chain::descriptor_ext::DescriptorExt">DescriptorExt</a> for <a class="enum" href="enum.Descriptor.html" title="enum bdk_wallet::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../keys/enum.DescriptorPublicKey.html" title="enum bdk_wallet::keys::DescriptorPublicKey">DescriptorPublicKey</a>></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dust_value" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/descriptor_ext.rs.html#26">source</a><a href="#method.dust_value" class="anchor">§</a><h4 class="code-header">fn <a href="../../bdk_chain/descriptor_ext/trait.DescriptorExt.html#tymethod.dust_value" class="fn">dust_value</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Returns the minimum value (in satoshis) at which an output is broadcastable.
-Panics if the descriptor wildcard is hardened.</div></details><details class="toggle method-toggle" open><summary><section id="method.descriptor_id" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/descriptor_ext.rs.html#34">source</a><a href="#method.descriptor_id" class="anchor">§</a><h4 class="code-header">fn <a href="../../bdk_chain/descriptor_ext/trait.DescriptorExt.html#tymethod.descriptor_id" class="fn">descriptor_id</a>(&self) -> <a class="struct" href="../../bdk_chain/descriptor_ext/struct.DescriptorId.html" title="struct bdk_chain::descriptor_ext::DescriptorId">DescriptorId</a></h4></section></summary><div class='docblock'>Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the
+ Pk: MiniscriptKey,</div></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.Debug.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E" class="impl"><a href="#impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E" class="anchor">§</a><h3 class="code-header">impl DescriptorExt for <a class="enum" href="enum.Descriptor.html" title="enum bdk_wallet::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../keys/enum.DescriptorPublicKey.html" title="enum bdk_wallet::keys::DescriptorPublicKey">DescriptorPublicKey</a>></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dust_value" class="method trait-impl"><a href="#method.dust_value" class="anchor">§</a><h4 class="code-header">fn <a class="fn">dust_value</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Returns the minimum value (in satoshis) at which an output is broadcastable.
+Panics if the descriptor wildcard is hardened.</div></details><details class="toggle method-toggle" open><summary><section id="method.descriptor_id" class="method trait-impl"><a href="#method.descriptor_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">descriptor_id</a>(&self) -> DescriptorId</h4></section></summary><div class='docblock'>Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the
descriptor at index 0.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E" class="impl"><a href="#impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E" class="anchor">§</a><h3 class="code-header">impl<'de, Pk> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="enum.Descriptor.html" title="enum bdk_wallet::descriptor::Descriptor">Descriptor</a><Pk><div class="where">where
Pk: FromStrKey,</div></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="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><D>(
deserializer: D
<li><a href="https://github.com/bitcoindevkit/bdk/tree/master/example-crates/wallet_rpc"><code>example-crates/wallet_rpc</code></a></li>
</ul>
<h3 id="persistence"><a class="doc-anchor" href="#persistence">§</a>Persistence</h3>
-<p>To persist <code>Wallet</code> state data use a data store crate that reads and writes <a href="../bdk_chain/changeset/struct.CombinedChangeSet.html" title="struct bdk_chain::changeset::CombinedChangeSet"><code>bdk_chain::CombinedChangeSet</code></a>.</p>
+<p>To persist <code>Wallet</code> state data use a data store crate that reads and writes [<code>bdk_chain::CombinedChangeSet</code>].</p>
<p><strong>Implementations</strong></p>
<ul>
<li><a href="https://docs.rs/bdk_file_store/latest"><code>bdk_file_store</code></a>: Stores wallet changes in a simple flat file.</li>
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms or
conditions.</p>
-</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><code>pub extern crate bitcoin;</code></div></li><li><div class="item-name"><code>pub extern crate miniscript;</code></div></li><li><div class="item-name" id="reexport.template"><code>pub use descriptor::<a class="mod" href="descriptor/template/index.html" title="mod bdk_wallet::descriptor::template">template</a>;</code></div></li><li><div class="item-name" id="reexport.HdKeyPaths"><code>pub use descriptor::<a class="type" href="descriptor/type.HdKeyPaths.html" title="type bdk_wallet::descriptor::HdKeyPaths">HdKeyPaths</a>;</code></div></li><li><div class="item-name" id="reexport.signer"><code>pub use wallet::<a class="mod" href="wallet/signer/index.html" title="mod bdk_wallet::wallet::signer">signer</a>;</code></div></li><li><div class="item-name" id="reexport.SignOptions"><code>pub use wallet::signer::<a class="struct" href="wallet/signer/struct.SignOptions.html" title="struct bdk_wallet::wallet::signer::SignOptions">SignOptions</a>;</code></div></li><li><div class="item-name" id="reexport.TxBuilder"><code>pub use wallet::tx_builder::<a class="struct" href="wallet/tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::wallet::tx_builder::TxBuilder">TxBuilder</a>;</code></div></li><li><div class="item-name" id="reexport.Wallet"><code>pub use wallet::<a class="struct" href="wallet/struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a>;</code></div></li><li><div class="item-name" id="reexport.chain"><code>pub use <a class="mod" href="../bdk_chain/index.html" title="mod bdk_chain">bdk_chain</a> as chain;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="descriptor/index.html" title="mod bdk_wallet::descriptor">descriptor</a></div><div class="desc docblock-short">Descriptors</div></li><li><div class="item-name"><a class="mod" href="keys/index.html" title="mod bdk_wallet::keys">keys</a></div><div class="desc docblock-short">Key formats</div></li><li><div class="item-name"><a class="mod" href="psbt/index.html" title="mod bdk_wallet::psbt">psbt</a></div><div class="desc docblock-short">Additional functions on the <code>rust-bitcoin</code> <code>Psbt</code> structure.</div></li><li><div class="item-name"><a class="mod" href="wallet/index.html" title="mod bdk_wallet::wallet">wallet</a></div><div class="desc docblock-short">Wallet</div></li></ul><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="macro" href="macro.descriptor.html" title="macro bdk_wallet::descriptor">descriptor</a></div><div class="desc docblock-short">Macro to write full descriptors with code</div></li><li><div class="item-name"><a class="macro" href="macro.fragment.html" title="macro bdk_wallet::fragment">fragment</a></div><div class="desc docblock-short">Macro to write descriptor fragments with code</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a></div><div class="desc docblock-short">An unspent output owned by a <a href="wallet/struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.WeightedUtxo.html" title="struct bdk_wallet::WeightedUtxo">WeightedUtxo</a></div><div class="desc docblock-short">A <a href="enum.Utxo.html" title="enum bdk_wallet::Utxo"><code>Utxo</code></a> with its <code>satisfaction_weight</code>.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a></div><div class="desc docblock-short">Types of keychains</div></li><li><div class="item-name"><a class="enum" href="enum.Utxo.html" title="enum bdk_wallet::Utxo">Utxo</a></div><div class="desc docblock-short">An unspent transaction output (UTXO).</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.version.html" title="fn bdk_wallet::version">version</a></div><div class="desc docblock-short">Get the version of BDK at runtime</div></li></ul></section></div></main></body></html>
\ No newline at end of file
+</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><code>pub extern crate bitcoin;</code></div></li><li><div class="item-name"><code>pub extern crate miniscript;</code></div></li><li><div class="item-name" id="reexport.template"><code>pub use descriptor::<a class="mod" href="descriptor/template/index.html" title="mod bdk_wallet::descriptor::template">template</a>;</code></div></li><li><div class="item-name" id="reexport.HdKeyPaths"><code>pub use descriptor::<a class="type" href="descriptor/type.HdKeyPaths.html" title="type bdk_wallet::descriptor::HdKeyPaths">HdKeyPaths</a>;</code></div></li><li><div class="item-name" id="reexport.signer"><code>pub use wallet::<a class="mod" href="wallet/signer/index.html" title="mod bdk_wallet::wallet::signer">signer</a>;</code></div></li><li><div class="item-name" id="reexport.SignOptions"><code>pub use wallet::signer::<a class="struct" href="wallet/signer/struct.SignOptions.html" title="struct bdk_wallet::wallet::signer::SignOptions">SignOptions</a>;</code></div></li><li><div class="item-name" id="reexport.TxBuilder"><code>pub use wallet::tx_builder::<a class="struct" href="wallet/tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::wallet::tx_builder::TxBuilder">TxBuilder</a>;</code></div></li><li><div class="item-name" id="reexport.Wallet"><code>pub use wallet::<a class="struct" href="wallet/struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a>;</code></div></li><li><div class="item-name" id="reexport.chain"><code>pub use bdk_chain as chain;</code></div></li></ul><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="descriptor/index.html" title="mod bdk_wallet::descriptor">descriptor</a></div><div class="desc docblock-short">Descriptors</div></li><li><div class="item-name"><a class="mod" href="keys/index.html" title="mod bdk_wallet::keys">keys</a></div><div class="desc docblock-short">Key formats</div></li><li><div class="item-name"><a class="mod" href="psbt/index.html" title="mod bdk_wallet::psbt">psbt</a></div><div class="desc docblock-short">Additional functions on the <code>rust-bitcoin</code> <code>Psbt</code> structure.</div></li><li><div class="item-name"><a class="mod" href="wallet/index.html" title="mod bdk_wallet::wallet">wallet</a></div><div class="desc docblock-short">Wallet</div></li></ul><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="macro" href="macro.descriptor.html" title="macro bdk_wallet::descriptor">descriptor</a></div><div class="desc docblock-short">Macro to write full descriptors with code</div></li><li><div class="item-name"><a class="macro" href="macro.fragment.html" title="macro bdk_wallet::fragment">fragment</a></div><div class="desc docblock-short">Macro to write descriptor fragments with code</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a></div><div class="desc docblock-short">An unspent output owned by a <a href="wallet/struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.WeightedUtxo.html" title="struct bdk_wallet::WeightedUtxo">WeightedUtxo</a></div><div class="desc docblock-short">A <a href="enum.Utxo.html" title="enum bdk_wallet::Utxo"><code>Utxo</code></a> with its <code>satisfaction_weight</code>.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a></div><div class="desc docblock-short">Types of keychains</div></li><li><div class="item-name"><a class="enum" href="enum.Utxo.html" title="enum bdk_wallet::Utxo">Utxo</a></div><div class="desc docblock-short">An unspent transaction output (UTXO).</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.version.html" title="fn bdk_wallet::version">version</a></div><div class="desc docblock-short">Get the version of BDK at runtime</div></li></ul></section></div></main></body></html>
\ No newline at end of file
pub keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>,
pub is_spent: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
pub derivation_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
- pub confirmation_time: <a class="enum" href="../bdk_chain/chain_data/enum.ConfirmationTime.html" title="enum bdk_chain::chain_data::ConfirmationTime">ConfirmationTime</a>,
+ pub confirmation_time: ConfirmationTime,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An unspent output owned by a <a href="wallet/struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet"><code>Wallet</code></a>.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.outpoint" class="structfield section-header"><a href="#structfield.outpoint" class="anchor field">§</a><code>outpoint: OutPoint</code></span><div class="docblock"><p>Reference to a transaction output</p>
</div><span id="structfield.txout" class="structfield section-header"><a href="#structfield.txout" class="anchor field">§</a><code>txout: TxOut</code></span><div class="docblock"><p>Transaction output</p>
</div><span id="structfield.keychain" class="structfield section-header"><a href="#structfield.keychain" class="anchor field">§</a><code>keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a></code></span><div class="docblock"><p>Type of keychain</p>
</div><span id="structfield.is_spent" class="structfield section-header"><a href="#structfield.is_spent" class="anchor field">§</a><code>is_spent: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Whether this UTXO is spent or not</p>
</div><span id="structfield.derivation_index" class="structfield section-header"><a href="#structfield.derivation_index" class="anchor field">§</a><code>derivation_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The derivation index for the script pubkey in the wallet</p>
-</div><span id="structfield.confirmation_time" class="structfield section-header"><a href="#structfield.confirmation_time" class="anchor field">§</a><code>confirmation_time: <a class="enum" href="../bdk_chain/chain_data/enum.ConfirmationTime.html" title="enum bdk_chain::chain_data::ConfirmationTime">ConfirmationTime</a></code></span><div class="docblock"><p>The confirmation time for transaction containing this utxo</p>
+</div><span id="structfield.confirmation_time" class="structfield section-header"><a href="#structfield.confirmation_time" class="anchor field">§</a><code>confirmation_time: ConfirmationTime</code></span><div class="docblock"><p>The confirmation time for transaction containing this utxo</p>
</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-LocalOutput" class="impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><a href="#impl-Clone-for-LocalOutput" 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="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><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>(&self) -> <a class="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-LocalOutput" class="impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><a href="#impl-Debug-for-LocalOutput" 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="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-LocalOutput" class="impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><a href="#impl-Deserialize%3C'de%3E-for-LocalOutput" class="anchor">§</a><h3 class="code-header">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
__D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-LocalOutput" class="impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><a href="#impl-Hash-for-LocalOutput" 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="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/types.rs.html#52">source</a><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><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut __H</a>)</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><H>(data: &<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">&mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An error that may occur when applying a block to `Wallet`."><title>ApplyBlockError in bdk_wallet::wallet - 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_wallet" 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_wallet/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_wallet/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../bdk_wallet/index.html">bdk_wallet</a><span class="version">1.0.0-alpha.13</span></h2></div><h2 class="location"><a href="#">ApplyBlockError</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.CannotConnect">CannotConnect</a></li><li><a href="#variant.UnexpectedConnectedToHash">UnexpectedConnectedToHash</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-ApplyBlockError">Debug</a></li><li><a href="#impl-Display-for-ApplyBlockError">Display</a></li><li><a href="#impl-Error-for-ApplyBlockError">Error</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ApplyBlockError">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ApplyBlockError">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ApplyBlockError">Send</a></li><li><a href="#impl-Sync-for-ApplyBlockError">Sync</a></li><li><a href="#impl-Unpin-for-ApplyBlockError">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ApplyBlockError">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToString-for-T">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_wallet::wallet</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_wallet</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="enum" href="#">ApplyBlockError</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_wallet/wallet/mod.rs.html#295-305">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub enum ApplyBlockError {
- CannotConnect(<a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>),
+ CannotConnect(CannotConnectError),
UnexpectedConnectedToHash {
connected_to_hash: BlockHash,
expected_hash: BlockHash,
},
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An error that may occur when applying a block to <a href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet"><code>Wallet</code></a>.</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.CannotConnect" class="variant"><a href="#variant.CannotConnect" class="anchor">§</a><h3 class="code-header">CannotConnect(<a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>)</h3></section><div class="docblock"><p>Occurs when the update chain cannot connect with original chain.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.CannotConnect" class="variant"><a href="#variant.CannotConnect" class="anchor">§</a><h3 class="code-header">CannotConnect(CannotConnectError)</h3></section><div class="docblock"><p>Occurs when the update chain cannot connect with original chain.</p>
</div><section id="variant.UnexpectedConnectedToHash" class="variant"><a href="#variant.UnexpectedConnectedToHash" class="anchor">§</a><h3 class="code-header">UnexpectedConnectedToHash</h3></section><div class="docblock"><p>Occurs when the <code>connected_to</code> hash does not match the hash derived from <code>block</code>.</p>
</div><div class="sub-variant" id="variant.UnexpectedConnectedToHash.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.UnexpectedConnectedToHash.field.connected_to_hash" class="section-header"><a href="#variant.UnexpectedConnectedToHash.field.connected_to_hash" class="anchor field">§</a><code>connected_to_hash: BlockHash</code></span><div class="docblock"><p>Block hash of <code>connected_to</code>.</p>
</div></div><div class="sub-variant-field"><span id="variant.UnexpectedConnectedToHash.field.expected_hash" class="section-header"><a href="#variant.UnexpectedConnectedToHash.field.expected_hash" class="anchor field">§</a><code>expected_hash: BlockHash</code></span><div class="docblock"><p>Expected block hash of <code>connected_to</code>, as derived from <code>block</code>.</p>
-<!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="Balance, differentiated into various categories."><title>Balance in bdk_wallet::wallet - 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_wallet" 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 struct"><!--[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_wallet/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_wallet/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../bdk_wallet/index.html">bdk_wallet</a><span class="version">1.0.0-alpha.13</span></h2></div><h2 class="location"><a href="#">Balance</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.confirmed">confirmed</a></li><li><a href="#structfield.immature">immature</a></li><li><a href="#structfield.trusted_pending">trusted_pending</a></li><li><a href="#structfield.untrusted_pending">untrusted_pending</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.total">total</a></li><li><a href="#method.trusted_spendable">trusted_spendable</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add-for-Balance">Add</a></li><li><a href="#impl-Clone-for-Balance">Clone</a></li><li><a href="#impl-Debug-for-Balance">Debug</a></li><li><a href="#impl-Default-for-Balance">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Balance">Deserialize<'de></a></li><li><a href="#impl-Display-for-Balance">Display</a></li><li><a href="#impl-Eq-for-Balance">Eq</a></li><li><a href="#impl-PartialEq-for-Balance">PartialEq</a></li><li><a href="#impl-Serialize-for-Balance">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Balance">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Balance">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Balance">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Balance">Send</a></li><li><a href="#impl-Sync-for-Balance">Sync</a></li><li><a href="#impl-Unpin-for-Balance">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Balance">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_wallet::wallet</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>Struct <a href="../index.html">bdk_wallet</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="struct" href="#">Balance</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_chain/keychain.rs.html#26">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Balance {
+<!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="Balance, differentiated into various categories."><title>Balance in bdk_wallet::wallet - 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_wallet" 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 struct"><!--[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_wallet/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_wallet/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../bdk_wallet/index.html">bdk_wallet</a><span class="version">1.0.0-alpha.13</span></h2></div><h2 class="location"><a href="#">Balance</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.confirmed">confirmed</a></li><li><a href="#structfield.immature">immature</a></li><li><a href="#structfield.trusted_pending">trusted_pending</a></li><li><a href="#structfield.untrusted_pending">untrusted_pending</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.total">total</a></li><li><a href="#method.trusted_spendable">trusted_spendable</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add-for-Balance">Add</a></li><li><a href="#impl-Clone-for-Balance">Clone</a></li><li><a href="#impl-Debug-for-Balance">Debug</a></li><li><a href="#impl-Default-for-Balance">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Balance">Deserialize<'de></a></li><li><a href="#impl-Display-for-Balance">Display</a></li><li><a href="#impl-Eq-for-Balance">Eq</a></li><li><a href="#impl-PartialEq-for-Balance">PartialEq</a></li><li><a href="#impl-Serialize-for-Balance">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Balance">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Balance">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Balance">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Balance">Send</a></li><li><a href="#impl-Sync-for-Balance">Sync</a></li><li><a href="#impl-Unpin-for-Balance">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Balance">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_wallet::wallet</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>Struct <a href="../index.html">bdk_wallet</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="struct" href="#">Balance</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>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Balance {
pub immature: Amount,
pub trusted_pending: Amount,
pub untrusted_pending: Amount,
</div><span id="structfield.trusted_pending" class="structfield section-header"><a href="#structfield.trusted_pending" class="anchor field">§</a><code>trusted_pending: Amount</code></span><div class="docblock"><p>Unconfirmed UTXOs generated by a wallet tx</p>
</div><span id="structfield.untrusted_pending" class="structfield section-header"><a href="#structfield.untrusted_pending" class="anchor field">§</a><code>untrusted_pending: Amount</code></span><div class="docblock"><p>Unconfirmed UTXOs received from an external wallet</p>
</div><span id="structfield.confirmed" class="structfield section-header"><a href="#structfield.confirmed" class="anchor field">§</a><code>confirmed: Amount</code></span><div class="docblock"><p>Confirmed and immediately spendable balance</p>
-</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-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#37">source</a><a href="#impl-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.trusted_spendable" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#42">source</a><h4 class="code-header">pub fn <a href="#method.trusted_spendable" class="fn">trusted_spendable</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get sum of trusted_pending and confirmed coins.</p>
+</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-Balance" class="impl"><a href="#impl-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.trusted_spendable" class="method"><h4 class="code-header">pub fn <a href="#method.trusted_spendable" class="fn">trusted_spendable</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get sum of trusted_pending and confirmed coins.</p>
<p>This is the balance you can spend right now that shouldn’t get cancelled via another party
double spending it.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.total" class="method"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#47">source</a><h4 class="code-header">pub fn <a href="#method.total" class="fn">total</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get the whole balance visible to the wallet.</p>
-</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-Add-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#67">source</a><a href="#impl-Add-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#70">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add" class="fn">add</a>(self, other: <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a>) -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Clone-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><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>(&self) -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Debug-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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-Default-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Default-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#impl-Deserialize%3C'de%3E-for-Balance" class="anchor">§</a><h3 class="code-header">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.total" class="method"><h4 class="code-header">pub fn <a href="#method.total" class="fn">total</a>(&self) -> Amount</h4></section></summary><div class="docblock"><p>Get the whole balance visible to the wallet.</p>
+</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-Add-for-Balance" class="impl"><a href="#impl-Add-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add" class="fn">add</a>(self, other: <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a>) -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a href="https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html#tymethod.add">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Balance" class="impl"><a href="#impl-Clone-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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>(&self) -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Balance" class="impl"><a href="#impl-Debug-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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-Default-for-Balance" class="impl"><a href="#impl-Default-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Balance" class="impl"><a href="#impl-Deserialize%3C'de%3E-for-Balance" class="anchor">§</a><h3 class="code-header">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a><__D>(
__deserializer: __D
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a>, <__D as <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>>::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>><div class="where">where
- __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#57">source</a><a href="#impl-Display-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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 class="src rightside" href="../../src/bdk_chain/keychain.rs.html#58">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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-PartialEq-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-PartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><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>(&self, other: &<a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a>) -> <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
+ __D: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Balance" class="impl"><a href="#impl-Display-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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-PartialEq-for-Balance" class="impl"><a href="#impl-PartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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>(&self, other: &<a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a>) -> <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
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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&Rhs</a>) -> <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
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#impl-Serialize-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#23">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Balance" class="impl"><a href="#impl-Serialize-for-Balance" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a><__S>(
&self,
__serializer: __S
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<__S as <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>>::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, <__S as <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>>::<a class="associatedtype" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>><div class="where">where
- __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Eq-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-Eq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-StructuralPartialEq-for-Balance" class="impl"><a class="src rightside" href="../../src/bdk_chain/keychain.rs.html#20">source</a><a href="#impl-StructuralPartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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-Balance" class="impl"><a href="#impl-Freeze-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-RefUnwindSafe-for-Balance" class="impl"><a href="#impl-RefUnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-Send-for-Balance" class="impl"><a href="#impl-Send-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-Sync-for-Balance" class="impl"><a href="#impl-Sync-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-Unpin-for-Balance" class="impl"><a href="#impl-Unpin-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-UnwindSafe-for-Balance" class="impl"><a href="#impl-UnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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<T> <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
+ __S: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Eq-for-Balance" class="impl"><a href="#impl-Eq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-StructuralPartialEq-for-Balance" class="impl"><a href="#impl-StructuralPartialEq-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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-Balance" class="impl"><a href="#impl-Freeze-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-RefUnwindSafe-for-Balance" class="impl"><a href="#impl-RefUnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-Send-for-Balance" class="impl"><a href="#impl-Send-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-Sync-for-Balance" class="impl"><a href="#impl-Sync-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-Unpin-for-Balance" class="impl"><a href="#impl-Unpin-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h3></section><section id="impl-UnwindSafe-for-Balance" class="impl"><a href="#impl-UnwindSafe-for-Balance" 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="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An update to `Wallet`."><title>Update in bdk_wallet::wallet - 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_wallet" 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 struct"><!--[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_wallet/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_wallet/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../bdk_wallet/index.html">bdk_wallet</a><span class="version">1.0.0-alpha.13</span></h2></div><h2 class="location"><a href="#">Update</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.chain">chain</a></li><li><a href="#structfield.graph">graph</a></li><li><a href="#structfield.last_active_indices">last_active_indices</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Update">Clone</a></li><li><a href="#impl-Debug-for-Update">Debug</a></li><li><a href="#impl-Default-for-Update">Default</a></li><li><a href="#impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update">From<FullScanResult<KeychainKind>></a></li><li><a href="#impl-From%3CSyncResult%3E-for-Update">From<SyncResult></a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Update">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Update">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Update">Send</a></li><li><a href="#impl-Sync-for-Update">Sync</a></li><li><a href="#impl-Unpin-for-Update">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Update">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk_wallet::wallet</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>Struct <a href="../index.html">bdk_wallet</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="struct" href="#">Update</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_wallet/wallet/mod.rs.html#117-129">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Update {
pub last_active_indices: <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><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>,
- pub graph: <a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>,
- pub chain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>>,
+ pub graph: TxGraph<ConfirmationTimeHeightAnchor>,
+ pub chain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><CheckPoint>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An update to <a href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet"><code>Wallet</code></a>.</p>
-<p>It updates <a href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex"><code>bdk_chain::keychain::KeychainTxOutIndex</code></a>, <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>bdk_chain::TxGraph</code></a> and <a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>local_chain::LocalChain</code></a> atomically.</p>
+<p>It updates [<code>KeychainTxOutIndex</code>], [<code>bdk_chain::TxGraph</code>] and [<code>local_chain::LocalChain</code>] atomically.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.last_active_indices" class="structfield section-header"><a href="#structfield.last_active_indices" class="anchor field">§</a><code>last_active_indices: <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><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><div class="docblock"><p>Contains the last active derivation indices per keychain (<code>K</code>), which is used to update the
-<a href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.</p>
-</div><span id="structfield.graph" class="structfield section-header"><a href="#structfield.graph" class="anchor field">§</a><code>graph: <a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></code></span><div class="docblock"><p>Update for the wallet’s internal <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
-</div><span id="structfield.chain" class="structfield section-header"><a href="#structfield.chain" class="anchor field">§</a><code>chain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>></code></span><div class="docblock"><p>Update for the wallet’s internal <a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>LocalChain</code></a>.</p>
-</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-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#impl-Clone-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><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>(&self) -> <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#impl-Debug-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#impl-Default-for-Update" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#131-139">source</a><a href="#impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update" 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><<a class="struct" href="../../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>> for <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#132-138">source</a><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>(value: <a class="struct" href="../../bdk_chain/spk_client/struct.FullScanResult.html" title="struct bdk_chain::spk_client::FullScanResult">FullScanResult</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>) -> Self</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%3CSyncResult%3E-for-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#141-149">source</a><a href="#impl-From%3CSyncResult%3E-for-Update" 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><<a class="struct" href="../../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>> for <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</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 class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#142-148">source</a><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>(value: <a class="struct" href="../../bdk_chain/spk_client/struct.SyncResult.html" title="struct bdk_chain::spk_client::SyncResult">SyncResult</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details></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-Update" class="impl"><a href="#impl-Freeze-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-RefUnwindSafe-for-Update" class="impl"><a href="#impl-RefUnwindSafe-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-Send-for-Update" class="impl"><a href="#impl-Send-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-Sync-for-Update" class="impl"><a href="#impl-Sync-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-Unpin-for-Update" class="impl"><a href="#impl-Unpin-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-UnwindSafe-for-Update" class="impl"><a href="#impl-UnwindSafe-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</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<T> <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
+[<code>KeychainTxOutIndex</code>].</p>
+</div><span id="structfield.graph" class="structfield section-header"><a href="#structfield.graph" class="anchor field">§</a><code>graph: TxGraph<ConfirmationTimeHeightAnchor></code></span><div class="docblock"><p>Update for the wallet’s internal [<code>TxGraph</code>].</p>
+</div><span id="structfield.chain" class="structfield section-header"><a href="#structfield.chain" class="anchor field">§</a><code>chain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><CheckPoint></code></span><div class="docblock"><p>Update for the wallet’s internal <a href="local_chain::LocalChain"><code>LocalChain</code></a>.</p>
+</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-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#impl-Clone-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><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>(&self) -> <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#impl-Debug-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-Default-for-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#impl-Default-for-Update" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#116">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#131-139">source</a><a href="#impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update" 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><FullScanResult<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>> for <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#132-138">source</a><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>(value: FullScanResult<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>) -> Self</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%3CSyncResult%3E-for-Update" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#141-149">source</a><a href="#impl-From%3CSyncResult%3E-for-Update" 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><SyncResult> for <a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</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 class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#142-148">source</a><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>(value: SyncResult) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details></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-Update" class="impl"><a href="#impl-Freeze-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-RefUnwindSafe-for-Update" class="impl"><a href="#impl-RefUnwindSafe-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-Send-for-Update" class="impl"><a href="#impl-Send-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-Sync-for-Update" class="impl"><a href="#impl-Sync-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-Unpin-for-Update" class="impl"><a href="#impl-Unpin-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a></h3></section><section id="impl-UnwindSafe-for-Update" class="impl"><a href="#impl-UnwindSafe-for-Update" 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="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" 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-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>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
<a href="type.ChangeSet.html" title="type bdk_wallet::wallet::ChangeSet"><code>ChangeSet</code></a>s (see <a href="struct.Wallet.html#method.take_staged" title="method bdk_wallet::wallet::Wallet::take_staged"><code>take_staged</code></a>). Also see individual functions and example for instructions
on when <a href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet"><code>Wallet</code></a> state needs to be persisted.</p>
<p>The <code>Wallet</code> descriptor (external) and change descriptor (internal) must not derive the same
-script pubkeys. See <a href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html#method.insert_descriptor" title="method bdk_chain::keychain::txout_index::KeychainTxOutIndex::insert_descriptor"><code>KeychainTxOutIndex::insert_descriptor()</code></a> for more details.</p>
+script pubkeys. See [<code>KeychainTxOutIndex::insert_descriptor()</code>] for more details.</p>
</div></details><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-Wallet" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#326-2355">source</a><a href="#impl-Wallet" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#328-335">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a><E: <a class="trait" href="../descriptor/trait.IntoWalletDescriptor.html" title="trait bdk_wallet::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(
descriptor: E,
change_descriptor: E,
</div></details><details class="toggle method-toggle" open><summary><section id="method.list_unspent" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#785-794">source</a><h4 class="code-header">pub fn <a href="#method.list_unspent" class="fn">list_unspent</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="../struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a>> + '_</h4></section></summary><div class="docblock"><p>Return the list of unspent outputs of this wallet</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.list_output" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#799-808">source</a><h4 class="code-header">pub fn <a href="#method.list_output" class="fn">list_output</a>(&self) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="../struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a>> + '_</h4></section></summary><div class="docblock"><p>List all relevant outputs (includes both spent and unspent, confirmed and unconfirmed).</p>
<p>To list only unspent outputs (UTXOs), use <a href="struct.Wallet.html#method.list_unspent" title="method bdk_wallet::wallet::Wallet::list_unspent"><code>Wallet::list_unspent</code></a> instead.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.checkpoints" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#811-813">source</a><h4 class="code-header">pub fn <a href="#method.checkpoints" class="fn">checkpoints</a>(&self) -> <a class="struct" href="../../bdk_chain/local_chain/struct.CheckPointIter.html" title="struct bdk_chain::local_chain::CheckPointIter">CheckPointIter</a></h4></section></summary><div class="docblock"><p>Get all the checkpoints the wallet is currently storing indexed by height.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.latest_checkpoint" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#816-818">source</a><h4 class="code-header">pub fn <a href="#method.latest_checkpoint" class="fn">latest_checkpoint</a>(&self) -> <a class="struct" href="../../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a></h4></section></summary><div class="docblock"><p>Returns the latest checkpoint.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.checkpoints" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#811-813">source</a><h4 class="code-header">pub fn <a href="#method.checkpoints" class="fn">checkpoints</a>(&self) -> CheckPointIter</h4></section></summary><div class="docblock"><p>Get all the checkpoints the wallet is currently storing indexed by height.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.latest_checkpoint" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#816-818">source</a><h4 class="code-header">pub fn <a href="#method.latest_checkpoint" class="fn">latest_checkpoint</a>(&self) -> CheckPoint</h4></section></summary><div class="docblock"><p>Returns the latest checkpoint.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.all_unbounded_spk_iters" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#828-832">source</a><h4 class="code-header">pub fn <a href="#method.all_unbounded_spk_iters" class="fn">all_unbounded_spk_iters</a>(
&self
-) -> <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><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../../bdk_chain/keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>></h4></section></summary><div class="docblock"><p>Get unbounded script pubkey iterators for both <code>Internal</code> and <code>External</code> keychains.</p>
+) -> <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><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = Indexed<ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>></h4></section></summary><div class="docblock"><p>Get unbounded script pubkey iterators for both <code>Internal</code> and <code>External</code> keychains.</p>
<p>This is intended to be used when doing a full scan of your addresses (e.g. after restoring
from seed words). You pass the <code>BTreeMap</code> of iterators to a blockchain data source (e.g.
electrum server) which will go through each address until it reaches a <em>stop gap</em>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.unbounded_spk_iter" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#839-847">source</a><h4 class="code-header">pub fn <a href="#method.unbounded_spk_iter" class="fn">unbounded_spk_iter</a>(
&self,
keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="type" href="../../bdk_chain/keychain/type.Indexed.html" title="type bdk_chain::keychain::Indexed">Indexed</a><ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section></summary><div class="docblock"><p>Get an unbounded script pubkey iterator for the given <code>keychain</code>.</p>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = Indexed<ScriptBuf>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section></summary><div class="docblock"><p>Get an unbounded script pubkey iterator for the given <code>keychain</code>.</p>
<p>See <a href="struct.Wallet.html#method.all_unbounded_spk_iters" title="method bdk_wallet::wallet::Wallet::all_unbounded_spk_iters"><code>all_unbounded_spk_iters</code></a> for more documentation</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_utxo" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#851-862">source</a><h4 class="code-header">pub fn <a href="#method.get_utxo" class="fn">get_utxo</a>(&self, op: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a>></h4></section></summary><div class="docblock"><p>Returns the utxo owned by this wallet corresponding to <code>outpoint</code> if it exists in the
wallet’s database.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.calculate_fee" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#913-915">source</a><h4 class="code-header">pub fn <a href="#method.calculate_fee" class="fn">calculate_fee</a>(
&self,
tx: &Transaction
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Amount, <a class="enum" href="../../bdk_chain/tx_graph/enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a>></h4></section></summary><div class="docblock"><p>Calculates the fee of a given transaction. Returns [<code>Amount::ZERO</code>] if <code>tx</code> is a coinbase transaction.</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Amount, CalculateFeeError></h4></section></summary><div class="docblock"><p>Calculates the fee of a given transaction. Returns [<code>Amount::ZERO</code>] if <code>tx</code> is a coinbase transaction.</p>
<p>To calculate the fee for a [<code>Transaction</code>] with inputs not owned by this wallet you must
manually insert the TxOut(s) into the tx graph using the <a href="struct.Wallet.html#method.insert_txout" title="method bdk_wallet::wallet::Wallet::insert_txout"><code>insert_txout</code></a> function.</p>
<p>Note <code>tx</code> does not have to be in the graph for this to work.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.calculate_fee_rate" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#944-946">source</a><h4 class="code-header">pub fn <a href="#method.calculate_fee_rate" class="fn">calculate_fee_rate</a>(
&self,
tx: &Transaction
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FeeRate, <a class="enum" href="../../bdk_chain/tx_graph/enum.CalculateFeeError.html" title="enum bdk_chain::tx_graph::CalculateFeeError">CalculateFeeError</a>></h4></section></summary><div class="docblock"><p>Calculate the [<code>FeeRate</code>] for a given transaction.</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><FeeRate, CalculateFeeError></h4></section></summary><div class="docblock"><p>Calculate the [<code>FeeRate</code>] for a given transaction.</p>
<p>To calculate the fee rate for a [<code>Transaction</code>] with inputs not owned by this wallet you must
manually insert the TxOut(s) into the tx graph using the <a href="struct.Wallet.html#method.insert_txout" title="method bdk_wallet::wallet::Wallet::insert_txout"><code>insert_txout</code></a> function.</p>
<p>Note <code>tx</code> does not have to be in the graph for this to work.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_tx" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#1020-1034">source</a><h4 class="code-header">pub fn <a href="#method.get_tx" class="fn">get_tx</a>(
&self,
txid: Txid
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk_chain/tx_graph/struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, <a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>></h4></section></summary><div class="docblock"><p>Get a single transaction from the wallet as a <a href="../../bdk_chain/tx_graph/struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx"><code>CanonicalTx</code></a> (if the transaction exists).</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><CanonicalTx<'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, ConfirmationTimeHeightAnchor>></h4></section></summary><div class="docblock"><p>Get a single transaction from the wallet as a [<code>CanonicalTx</code>] (if the transaction exists).</p>
<p><code>CanonicalTx</code> contains the full transaction alongside meta-data such as:</p>
<ul>
-<li>Blocks that the transaction is <a href="../../bdk_chain/tx_data_traits/trait.Anchor.html" title="trait bdk_chain::tx_data_traits::Anchor"><code>Anchor</code></a>ed in. These may or may not be blocks that exist
+<li>Blocks that the transaction is <a href="bdk_chain::Anchor"><code>Anchor</code></a>ed in. These may or may not be blocks that exist
in the best chain.</li>
-<li>The <a href="../../bdk_chain/chain_data/enum.ChainPosition.html" title="enum bdk_chain::chain_data::ChainPosition"><code>ChainPosition</code></a> of the transaction in the best chain - whether the transaction is
+<li>The [<code>ChainPosition</code>] of the transaction in the best chain - whether the transaction is
confirmed or unconfirmed. If the transaction is confirmed, the anchor which proves the
confirmation is provided. If the transaction is unconfirmed, the unix timestamp of when
the transaction was last seen in the mempool is provided.</li>
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_checkpoint" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#1046-1054">source</a><h4 class="code-header">pub fn <a href="#method.insert_checkpoint" class="fn">insert_checkpoint</a>(
&mut self,
- block_id: <a class="struct" href="../../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId">BlockId</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="struct" href="../../bdk_chain/local_chain/struct.AlterCheckPointError.html" title="struct bdk_chain::local_chain::AlterCheckPointError">AlterCheckPointError</a>></h4></section></summary><div class="docblock"><p>Add a new checkpoint to the wallet’s internal view of the chain.</p>
+ block_id: BlockId
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, AlterCheckPointError></h4></section></summary><div class="docblock"><p>Add a new checkpoint to the wallet’s internal view of the chain.</p>
<p>Returns whether anything changed with the insertion (e.g. <code>false</code> if checkpoint was already
there).</p>
<p><strong>WARNING</strong>: You must persist the changes resulting from one or more calls to this method
must be broadcast to the network and the wallet synced via a chain source.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.transactions" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#1077-1084">source</a><h4 class="code-header">pub fn <a href="#method.transactions" class="fn">transactions</a>(
&self
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="../../bdk_chain/tx_graph/struct.CanonicalTx.html" title="struct bdk_chain::tx_graph::CanonicalTx">CanonicalTx</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, <a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>> + '_</h4></section></summary><div class="docblock"><p>Iterate over the transactions in the wallet.</p>
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = CanonicalTx<'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, ConfirmationTimeHeightAnchor>> + '_</h4></section></summary><div class="docblock"><p>Iterate over the transactions in the wallet.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.balance" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#1088-1095">source</a><h4 class="code-header">pub fn <a href="#method.balance" class="fn">balance</a>(&self) -> <a class="struct" href="struct.Balance.html" title="struct bdk_wallet::wallet::Balance">Balance</a></h4></section></summary><div class="docblock"><p>Return the balance, separated into available, trusted-pending, untrusted-pending and immature
values.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.add_signer" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#1100-1112">source</a><h4 class="code-header">pub fn <a href="#method.add_signer" class="fn">add_signer</a>(
</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2222-2237">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(
&mut self,
update: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="struct.Update.html" title="struct bdk_wallet::wallet::Update">Update</a>>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>></h4></section></summary><div class="docblock"><p>Applies an update to the wallet and stages the changes (but does not persist them).</p>
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, CannotConnectError></h4></section></summary><div class="docblock"><p>Applies an update to the wallet and stages the changes (but does not persist them).</p>
<p>Usually you create an <code>update</code> by interacting with some blockchain data source and inserting
transactions related to your wallet into it.</p>
<p>After applying updates you should persist the staged wallet changes. For an example of how
to persist staged wallet changes see <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::wallet::Wallet::reveal_next_address"><code>Wallet::reveal_next_address</code></a>. `</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.staged" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2240-2246">source</a><h4 class="code-header">pub fn <a href="#method.staged" class="fn">staged</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="type" href="type.ChangeSet.html" title="type bdk_wallet::wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a reference of the staged <a href="type.ChangeSet.html" title="type bdk_wallet::wallet::ChangeSet"><code>ChangeSet</code></a> that are yet to be committed (if any).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.take_staged" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2249-2251">source</a><h4 class="code-header">pub fn <a href="#method.take_staged" class="fn">take_staged</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="type.ChangeSet.html" title="type bdk_wallet::wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Take the staged <a href="type.ChangeSet.html" title="type bdk_wallet::wallet::ChangeSet"><code>ChangeSet</code></a> to be persisted now (if any).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.tx_graph" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2254-2256">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.tx_graph" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2254-2256">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &TxGraph<ConfirmationTimeHeightAnchor></h4></section></summary><div class="docblock"><p>Get a reference to the inner [<code>TxGraph</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.unbroadcast_transactions" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2260-2264">source</a><h4 class="code-header">pub fn <a href="#method.unbroadcast_transactions" class="fn">unbroadcast_transactions</a>(
&self
-) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="struct" href="../../bdk_chain/tx_graph/struct.TxNode.html" title="struct bdk_chain::tx_graph::TxNode">TxNode</a><'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, <a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>></h4></section></summary><div class="docblock"><p>Iterate over transactions in the wallet that are unseen and unanchored likely
+) -> impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = TxNode<'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, ConfirmationTimeHeightAnchor>></h4></section></summary><div class="docblock"><p>Iterate over transactions in the wallet that are unseen and unanchored likely
because they haven’t been broadcast.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.spk_index" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2267-2269">source</a><h4 class="code-header">pub fn <a href="#method.spk_index" class="fn">spk_index</a>(&self) -> &<a class="struct" href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.local_chain" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2272-2274">source</a><h4 class="code-header">pub fn <a href="#method.local_chain" class="fn">local_chain</a>(&self) -> &<a class="struct" href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain">LocalChain</a></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>LocalChain</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.spk_index" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2267-2269">source</a><h4 class="code-header">pub fn <a href="#method.spk_index" class="fn">spk_index</a>(&self) -> &KeychainTxOutIndex<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner [<code>KeychainTxOutIndex</code>].</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.local_chain" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2272-2274">source</a><h4 class="code-header">pub fn <a href="#method.local_chain" class="fn">local_chain</a>(&self) -> &LocalChain</h4></section></summary><div class="docblock"><p>Get a reference to the inner [<code>LocalChain</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_block" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2283-2301">source</a><h4 class="code-header">pub fn <a href="#method.apply_block" class="fn">apply_block</a>(
&mut self,
block: &Block,
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>></h4></section></summary><div class="docblock"><p>Introduces a <code>block</code> of <code>height</code> to the wallet, and tries to connect it to the
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, CannotConnectError></h4></section></summary><div class="docblock"><p>Introduces a <code>block</code> of <code>height</code> to the wallet, and tries to connect it to the
<code>prev_blockhash</code> of the block’s header.</p>
<p>This is a convenience method that is equivalent to calling <a href="struct.Wallet.html#method.apply_block_connected_to" title="method bdk_wallet::wallet::Wallet::apply_block_connected_to"><code>apply_block_connected_to</code></a>
with <code>prev_blockhash</code> and <code>height-1</code> as the <code>connected_to</code> parameter.</p>
&mut self,
block: &Block,
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
- connected_to: <a class="struct" href="../../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId">BlockId</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk_chain/local_chain/enum.ApplyHeaderError.html" title="enum bdk_chain::local_chain::ApplyHeaderError">ApplyHeaderError</a>></h4></section></summary><div class="docblock"><p>Applies relevant transactions from <code>block</code> of <code>height</code> to the wallet, and connects the
+ connected_to: BlockId
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ApplyHeaderError></h4></section></summary><div class="docblock"><p>Applies relevant transactions from <code>block</code> of <code>height</code> to the wallet, and connects the
block to the internal chain.</p>
<p>The <code>connected_to</code> parameter informs the wallet how this block connects to the internal
-<a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain"><code>LocalChain</code></a>. Relevant transactions are filtered from the <code>block</code> and inserted into the
-internal <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph"><code>TxGraph</code></a>.</p>
+[<code>LocalChain</code>]. Relevant transactions are filtered from the <code>block</code> and inserted into the
+internal [<code>TxGraph</code>].</p>
<p><strong>WARNING</strong>: You must persist the changes resulting from one or more calls to this method
if you need the inserted block data to be reloaded after closing the wallet.
See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::wallet::Wallet::reveal_next_address"><code>Wallet::reveal_next_address</code></a>.</p>
if you need the applied unconfirmed transactions to be reloaded after closing the wallet.
See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::wallet::Wallet::reveal_next_address"><code>Wallet::reveal_next_address</code></a>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Wallet-1" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2358-2380">source</a><a href="#impl-Wallet-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section></summary><div class="docblock"><p>Methods to construct sync/full-scan requests for spk-based chain sources.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.start_sync_with_revealed_spks" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2364-2367">source</a><h4 class="code-header">pub fn <a href="#method.start_sync_with_revealed_spks" class="fn">start_sync_with_revealed_spks</a>(&self) -> <a class="struct" href="../../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest">SyncRequest</a></h4></section></summary><div class="docblock"><p>Create a partial <a href="../../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> for this wallet for all revealed spks.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.start_sync_with_revealed_spks" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2364-2367">source</a><h4 class="code-header">pub fn <a href="#method.start_sync_with_revealed_spks" class="fn">start_sync_with_revealed_spks</a>(&self) -> SyncRequest</h4></section></summary><div class="docblock"><p>Create a partial [<code>SyncRequest</code>] for this wallet for all revealed spks.</p>
<p>This is the first step when performing a spk-based wallet partial sync, the returned
-<a href="../../bdk_chain/spk_client/struct.SyncRequest.html" title="struct bdk_chain::spk_client::SyncRequest"><code>SyncRequest</code></a> collects all revealed script pubkeys from the wallet keychain needed to
+[<code>SyncRequest</code>] collects all revealed script pubkeys from the wallet keychain needed to
start a blockchain sync with a spk based blockchain client.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.start_full_scan" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2377-2379">source</a><h4 class="code-header">pub fn <a href="#method.start_full_scan" class="fn">start_full_scan</a>(&self) -> <a class="struct" href="../../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">FullScanRequest</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>></h4></section></summary><div class="docblock"><p>Create a <a href="../../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">`FullScanRequest</a> for this wallet.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.start_full_scan" class="method"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2377-2379">source</a><h4 class="code-header">pub fn <a href="#method.start_full_scan" class="fn">start_full_scan</a>(&self) -> FullScanRequest<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>></h4></section></summary><div class="docblock"><p>Create a [`FullScanRequest] for this wallet.</p>
<p>This is the first step when performing a spk-based wallet full scan, the returned
-<a href="../../bdk_chain/spk_client/struct.FullScanRequest.html" title="struct bdk_chain::spk_client::FullScanRequest">`FullScanRequest</a> collects iterators for the wallet’s keychain script pub keys needed to
+[`FullScanRequest] collects iterators for the wallet’s keychain script pub keys needed to
start a blockchain full scan with a spk based blockchain client.</p>
<p>This operation is generally only used when importing or restoring a previously used wallet
in which the list of used scripts is not known.</p>
-</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-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2382-2386">source</a><a href="#impl-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>> for <a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2383-2385">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Wallet" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#102">source</a><a href="#impl-Debug-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#102">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-Wallet" class="impl"><a href="#impl-Freeze-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-RefUnwindSafe-for-Wallet" class="impl"><a href="#impl-RefUnwindSafe-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-Send-for-Wallet" class="impl"><a href="#impl-Send-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-Sync-for-Wallet" class="impl"><a href="#impl-Sync-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-Unpin-for-Wallet" class="impl"><a href="#impl-Unpin-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-UnwindSafe-for-Wallet" class="impl"><a href="#impl-UnwindSafe-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</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<T> <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
+</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-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2382-2386">source</a><a href="#impl-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><TxGraph<ConfirmationTimeHeightAnchor>> for <a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#2383-2385">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &TxGraph<ConfirmationTimeHeightAnchor></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Wallet" class="impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#102">source</a><a href="#impl-Debug-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/bdk_wallet/wallet/mod.rs.html#102">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-Wallet" class="impl"><a href="#impl-Freeze-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-RefUnwindSafe-for-Wallet" class="impl"><a href="#impl-RefUnwindSafe-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-Send-for-Wallet" class="impl"><a href="#impl-Send-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-Sync-for-Wallet" class="impl"><a href="#impl-Sync-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-Unpin-for-Wallet" class="impl"><a href="#impl-Unpin-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</a></h3></section><section id="impl-UnwindSafe-for-Wallet" class="impl"><a href="#impl-UnwindSafe-for-Wallet" 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="struct" href="struct.Wallet.html" title="struct bdk_wallet::wallet::Wallet">Wallet</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-<!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="The changes made to a wallet by applying an `Update`."><title>ChangeSet in bdk_wallet::wallet - 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_wallet" 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 type"><!--[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_wallet/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_wallet/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../bdk_wallet/index.html">bdk_wallet</a><span class="version">1.0.0-alpha.13</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#aliased-type">Aliased type</a></h3><h3><a href="#fields">Fields</a></h3><ul class="block field"><li><a href="#structfield.chain">chain</a></li><li><a href="#structfield.indexed_tx_graph">indexed_tx_graph</a></li><li><a href="#structfield.network">network</a></li></ul></section><h2><a href="index.html">In bdk_wallet::wallet</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>Type Alias <a href="../index.html">bdk_wallet</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_wallet/wallet/mod.rs.html#152">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type ChangeSet = <a class="struct" href="../../bdk_chain/changeset/struct.CombinedChangeSet.html" title="struct bdk_chain::changeset::CombinedChangeSet">CombinedChangeSet</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, <a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The changes made to a wallet by applying an <a href="struct.Update.html" title="struct bdk_wallet::wallet::Update"><code>Update</code></a>.</p>
+<!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="The changes made to a wallet by applying an `Update`."><title>ChangeSet in bdk_wallet::wallet - 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_wallet" 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 type"><!--[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_wallet/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_wallet/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../bdk_wallet/index.html">bdk_wallet</a><span class="version">1.0.0-alpha.13</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><section><h3><a href="#aliased-type">Aliased type</a></h3><h3><a href="#fields">Fields</a></h3><ul class="block field"><li><a href="#structfield.chain">chain</a></li><li><a href="#structfield.indexed_tx_graph">indexed_tx_graph</a></li><li><a href="#structfield.network">network</a></li></ul></section><h2><a href="index.html">In bdk_wallet::wallet</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>Type Alias <a href="../index.html">bdk_wallet</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/bdk_wallet/wallet/mod.rs.html#152">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type ChangeSet = CombinedChangeSet<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, ConfirmationTimeHeightAnchor>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The changes made to a wallet by applying an <a href="struct.Update.html" title="struct bdk_wallet::wallet::Update"><code>Update</code></a>.</p>
</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct ChangeSet {
pub chain: <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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BlockHash>>,
- pub indexed_tx_graph: <a class="struct" href="../../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>>,
+ pub indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>>,
pub network: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Network>,
}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.chain" class="structfield section-header"><a href="#structfield.chain" class="anchor field">§</a><code>chain: <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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BlockHash>></code></span><div class="docblock"><p>Changes to the <a href="crate::local_chain::LocalChain"><code>LocalChain</code></a>.</p>
-</div><span id="structfield.indexed_tx_graph" class="structfield section-header"><a href="#structfield.indexed_tx_graph" class="anchor field">§</a><code>indexed_tx_graph: <a class="struct" href="../../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>></code></span><div class="docblock"><p>Changes to <a href="crate::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
+</div><span id="structfield.indexed_tx_graph" class="structfield section-header"><a href="#structfield.indexed_tx_graph" class="anchor field">§</a><code>indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<<a class="enum" href="../enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>>></code></span><div class="docblock"><p>Changes to <a href="crate::indexed_tx_graph::IndexedTxGraph"><code>IndexedTxGraph</code></a>.</p>
</div><span id="structfield.network" class="structfield section-header"><a href="#structfield.network" class="anchor field">§</a><code>network: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Network></code></span><div class="docblock"><p>Stores the network type of the transaction data.</p>
</div><script src="../../type.impl/bdk_chain/changeset/struct.CombinedChangeSet.js" data-self-path="bdk_wallet::wallet::ChangeSet" async></script></section></div></main></body></html>
\ No newline at end of file
-<!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="The mpsc channel bound for emissions from `Emitter`."><title>CHANNEL_BOUND in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">CHANNEL_BOUND</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#30">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const CHANNEL_BOUND: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> = 10;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The mpsc channel bound for emissions from [<code>Emitter</code>].</p>
+<!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="The mpsc channel bound for emissions from `Emitter`."><title>CHANNEL_BOUND in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">CHANNEL_BOUND</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#31">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const CHANNEL_BOUND: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> = 10;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The mpsc channel bound for emissions from [<code>Emitter</code>].</p>
</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="Delay for committing to persistence."><title>DB_COMMIT_DELAY in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">DB_COMMIT_DELAY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#36">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const DB_COMMIT_DELAY: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Delay for committing to persistence.</p>
+<!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="Delay for committing to persistence."><title>DB_COMMIT_DELAY in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">DB_COMMIT_DELAY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#37">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const DB_COMMIT_DELAY: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Delay for committing to persistence.</p>
</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `DB_MAGIC` constant in crate `example_bitcoind_rpc_polling`."><title>DB_MAGIC in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">DB_MAGIC</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#26">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const DB_MAGIC: &[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] = b"bdk_example_rpc";</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `DB_MAGIC` constant in crate `example_bitcoind_rpc_polling`."><title>DB_MAGIC in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">DB_MAGIC</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#27">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const DB_MAGIC: &[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] = b"bdk_example_rpc";</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `DB_PATH` constant in crate `example_bitcoind_rpc_polling`."><title>DB_PATH in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">DB_PATH</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#27">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const DB_PATH: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a> = ".bdk_example_rpc.db";</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `DB_PATH` constant in crate `example_bitcoind_rpc_polling`."><title>DB_PATH in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">DB_PATH</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#28">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const DB_PATH: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a> = ".bdk_example_rpc.db";</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="Delay between mempool emissions."><title>MEMPOOL_EMIT_DELAY in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">MEMPOOL_EMIT_DELAY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#34">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const MEMPOOL_EMIT_DELAY: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Delay between mempool emissions.</p>
+<!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="Delay between mempool emissions."><title>MEMPOOL_EMIT_DELAY in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">MEMPOOL_EMIT_DELAY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#35">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const MEMPOOL_EMIT_DELAY: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Delay between mempool emissions.</p>
</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="Delay for printing status to stdout."><title>STDOUT_PRINT_DELAY in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">STDOUT_PRINT_DELAY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#32">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const STDOUT_PRINT_DELAY: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Delay for printing status to stdout.</p>
+<!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="Delay for printing status to stdout."><title>STDOUT_PRINT_DELAY in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 constant"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Constant <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="constant" href="#">STDOUT_PRINT_DELAY</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) const STDOUT_PRINT_DELAY: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Delay for printing status to stdout.</p>
</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `Emission` enum in crate `example_bitcoind_rpc_polling`."><title>Emission in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Emission</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Block">Block</a></li><li><a href="#variant.Mempool">Mempool</a></li><li><a href="#variant.Tip">Tip</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Emission">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Emission">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Emission">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Emission">Send</a></li><li><a href="#impl-Sync-for-Emission">Sync</a></li><li><a href="#impl-Unpin-for-Emission">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Emission">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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">example_bitcoind_rpc_polling</a>::<wbr><a class="enum" href="#">Emission</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#44-48">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) enum Emission {
+<!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="API documentation for the Rust `Emission` enum in crate `example_bitcoind_rpc_polling`."><title>Emission in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Emission</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Block">Block</a></li><li><a href="#variant.Mempool">Mempool</a></li><li><a href="#variant.Tip">Tip</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Emission">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Emission">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Emission">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Emission">Send</a></li><li><a href="#impl-Sync-for-Emission">Sync</a></li><li><a href="#impl-Unpin-for-Emission">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Emission">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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">example_bitcoind_rpc_polling</a>::<wbr><a class="enum" href="#">Emission</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#45-49">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) enum Emission {
Block(BlockEvent<Block>),
Mempool(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><(Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>),
Tip(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>),
-}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Block" class="variant"><a href="#variant.Block" class="anchor">§</a><h3 class="code-header">Block(BlockEvent<Block>)</h3></section><section id="variant.Mempool" class="variant"><a href="#variant.Mempool" class="anchor">§</a><h3 class="code-header">Mempool(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><(Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>)</h3></section><section id="variant.Tip" class="variant"><a href="#variant.Tip" class="anchor">§</a><h3 class="code-header">Tip(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h3></section></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-Debug-for-Emission" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#43">source</a><a href="#impl-Debug-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#43">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-Emission" class="impl"><a href="#impl-Freeze-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-RefUnwindSafe-for-Emission" class="impl"><a href="#impl-RefUnwindSafe-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-Send-for-Emission" class="impl"><a href="#impl-Send-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-Sync-for-Emission" class="impl"><a href="#impl-Sync-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-Unpin-for-Emission" class="impl"><a href="#impl-Unpin-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-UnwindSafe-for-Emission" class="impl"><a href="#impl-UnwindSafe-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</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<T> <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
+}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Block" class="variant"><a href="#variant.Block" class="anchor">§</a><h3 class="code-header">Block(BlockEvent<Block>)</h3></section><section id="variant.Mempool" class="variant"><a href="#variant.Mempool" class="anchor">§</a><h3 class="code-header">Mempool(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><(Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>)</h3></section><section id="variant.Tip" class="variant"><a href="#variant.Tip" class="anchor">§</a><h3 class="code-header">Tip(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</h3></section></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-Debug-for-Emission" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#44">source</a><a href="#impl-Debug-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#44">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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></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-Emission" class="impl"><a href="#impl-Freeze-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-RefUnwindSafe-for-Emission" class="impl"><a href="#impl-RefUnwindSafe-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-Send-for-Emission" class="impl"><a href="#impl-Send-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-Sync-for-Emission" class="impl"><a href="#impl-Sync-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-Unpin-for-Emission" class="impl"><a href="#impl-Unpin-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a></h3></section><section id="impl-UnwindSafe-for-Emission" class="impl"><a href="#impl-UnwindSafe-for-Emission" 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.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-<!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="API documentation for the Rust `RpcCommands` enum in crate `example_bitcoind_rpc_polling`."><title>RpcCommands in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">RpcCommands</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Live">Live</a></li><li><a href="#variant.Sync">Sync</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-RpcCommands">Clone</a></li><li><a href="#impl-Debug-for-RpcCommands">Debug</a></li><li><a href="#impl-FromArgMatches-for-RpcCommands">FromArgMatches</a></li><li><a href="#impl-Subcommand-for-RpcCommands">Subcommand</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-RpcCommands">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-RpcCommands">RefUnwindSafe</a></li><li><a href="#impl-Send-for-RpcCommands">Send</a></li><li><a href="#impl-Sync-for-RpcCommands">Sync</a></li><li><a href="#impl-Unpin-for-RpcCommands">Unpin</a></li><li><a href="#impl-UnwindSafe-for-RpcCommands">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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">example_bitcoind_rpc_polling</a>::<wbr><a class="enum" href="#">RpcCommands</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#97-109">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) enum RpcCommands {
+<!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="API documentation for the Rust `RpcCommands` enum in crate `example_bitcoind_rpc_polling`."><title>RpcCommands in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">RpcCommands</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Live">Live</a></li><li><a href="#variant.Sync">Sync</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-RpcCommands">Clone</a></li><li><a href="#impl-Debug-for-RpcCommands">Debug</a></li><li><a href="#impl-FromArgMatches-for-RpcCommands">FromArgMatches</a></li><li><a href="#impl-Subcommand-for-RpcCommands">Subcommand</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-RpcCommands">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-RpcCommands">RefUnwindSafe</a></li><li><a href="#impl-Send-for-RpcCommands">Send</a></li><li><a href="#impl-Sync-for-RpcCommands">Sync</a></li><li><a href="#impl-Unpin-for-RpcCommands">Unpin</a></li><li><a href="#impl-UnwindSafe-for-RpcCommands">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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">example_bitcoind_rpc_polling</a>::<wbr><a class="enum" href="#">RpcCommands</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#98-110">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) enum RpcCommands {
Sync {
rpc_args: <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a>,
},
}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Sync" class="variant"><a href="#variant.Sync" class="anchor">§</a><h3 class="code-header">Sync</h3></section><div class="docblock"><p>Syncs local state with remote state via RPC (starting from last point of agreement) and
stores/indexes relevant transactions</p>
</div><div class="sub-variant" id="variant.Sync.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Sync.field.rpc_args" class="section-header"><a href="#variant.Sync.field.rpc_args" class="anchor field">§</a><code>rpc_args: <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></code></span></div></div><section id="variant.Live" class="variant"><a href="#variant.Live" class="anchor">§</a><h3 class="code-header">Live</h3></section><div class="docblock"><p>Sync by having the emitter logic in a separate thread</p>
-</div><div class="sub-variant" id="variant.Live.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Live.field.rpc_args" class="section-header"><a href="#variant.Live.field.rpc_args" class="anchor field">§</a><code>rpc_args: <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></code></span></div></div></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-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#impl-Clone-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><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>(&self) -> <a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#impl-Debug-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-FromArgMatches-for-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#impl-FromArgMatches-for-RpcCommands" class="anchor">§</a><h3 class="code-header">impl FromArgMatches for <a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches</a>(__clap_arg_matches: &ArgMatches) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches_mut</a>(
+</div><div class="sub-variant" id="variant.Live.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Live.field.rpc_args" class="section-header"><a href="#variant.Live.field.rpc_args" class="anchor field">§</a><code>rpc_args: <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></code></span></div></div></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-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#impl-Clone-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><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>(&self) -> <a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#impl-Debug-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-FromArgMatches-for-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#impl-FromArgMatches-for-RpcCommands" class="anchor">§</a><h3 class="code-header">impl FromArgMatches for <a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches</a>(__clap_arg_matches: &ArgMatches) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches_mut</a>(
__clap_arg_matches: &mut ArgMatches
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.update_from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches</a>(
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.update_from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches</a>(
&mut self,
__clap_arg_matches: &ArgMatches
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.update_from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches_mut</a><'b>(
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.update_from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches_mut</a><'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Subcommand-for-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#impl-Subcommand-for-RpcCommands" class="anchor">§</a><h3 class="code-header">impl Subcommand for <a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.augment_subcommands" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.augment_subcommands" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_subcommands</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can instantiate <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.augment_subcommands_for_update" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.augment_subcommands_for_update" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_subcommands_for_update</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can update <code>self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.has_subcommand" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#96">source</a><a href="#method.has_subcommand" class="anchor">§</a><h4 class="code-header">fn <a class="fn">has_subcommand</a>(__clap_name: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Test whether <code>Self</code> can parse a specific subcommand</div></details></div></details></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-RpcCommands" class="impl"><a href="#impl-Freeze-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-RefUnwindSafe-for-RpcCommands" class="impl"><a href="#impl-RefUnwindSafe-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-Send-for-RpcCommands" class="impl"><a href="#impl-Send-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-Sync-for-RpcCommands" class="impl"><a href="#impl-Sync-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-Unpin-for-RpcCommands" class="impl"><a href="#impl-Unpin-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-UnwindSafe-for-RpcCommands" class="impl"><a href="#impl-UnwindSafe-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</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<T> <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
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Subcommand-for-RpcCommands" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#impl-Subcommand-for-RpcCommands" class="anchor">§</a><h3 class="code-header">impl Subcommand for <a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.augment_subcommands" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.augment_subcommands" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_subcommands</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can instantiate <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.augment_subcommands_for_update" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.augment_subcommands_for_update" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_subcommands_for_update</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can update <code>self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.has_subcommand" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#97">source</a><a href="#method.has_subcommand" class="anchor">§</a><h4 class="code-header">fn <a class="fn">has_subcommand</a>(__clap_name: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Test whether <code>Self</code> can parse a specific subcommand</div></details></div></details></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-RpcCommands" class="impl"><a href="#impl-Freeze-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-RefUnwindSafe-for-RpcCommands" class="impl"><a href="#impl-RefUnwindSafe-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-Send-for-RpcCommands" class="impl"><a href="#impl-Send-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-Sync-for-RpcCommands" class="impl"><a href="#impl-Sync-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-Unpin-for-RpcCommands" class="impl"><a href="#impl-Unpin-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a></h3></section><section id="impl-UnwindSafe-for-RpcCommands" class="impl"><a href="#impl-UnwindSafe-for-RpcCommands" 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.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
-<!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="API documentation for the Rust `await_flag` fn in crate `example_bitcoind_rpc_polling`."><title>await_flag in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="fn" href="#">await_flag</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#378-389">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn await_flag(flag: &<a class="struct" href="https://doc.rust-lang.org/nightly/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a>, duration: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `await_flag` fn in crate `example_bitcoind_rpc_polling`."><title>await_flag in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="fn" href="#">await_flag</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#379-390">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn await_flag(flag: &<a class="struct" href="https://doc.rust-lang.org/nightly/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a>, duration: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `main` fn in crate `example_bitcoind_rpc_polling`."><title>main in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="fn" href="#">main</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#111-365">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn main() -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `main` fn in crate `example_bitcoind_rpc_polling`."><title>main in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="fn" href="#">main</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#112-366">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn main() -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `start_ctrlc_handler` fn in crate `example_bitcoind_rpc_polling`."><title>start_ctrlc_handler in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="fn" href="#">start_ctrlc_handler</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#368-375">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn start_ctrlc_handler() -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a>></code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `start_ctrlc_handler` fn in crate `example_bitcoind_rpc_polling`."><title>start_ctrlc_handler in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="fn" href="#">start_ctrlc_handler</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#369-376">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn start_ctrlc_handler() -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a>></code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `example_bitcoind_rpc_polling` crate."><title>example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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="../crates.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 mod crate"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Aliases</a></li></ul></section></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>Crate <a class="mod" href="#">example_bitcoind_rpc_polling</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#1-389">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.CHANNEL_BOUND.html" title="constant example_bitcoind_rpc_polling::CHANNEL_BOUND">CHANNEL_BOUND</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">The mpsc channel bound for emissions from [<code>Emitter</code>].</div></li><li><div class="item-name"><a class="constant" href="constant.DB_COMMIT_DELAY.html" title="constant example_bitcoind_rpc_polling::DB_COMMIT_DELAY">DB_COMMIT_DELAY</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">Delay for committing to persistence.</div></li><li><div class="item-name"><a class="constant" href="constant.DB_MAGIC.html" title="constant example_bitcoind_rpc_polling::DB_MAGIC">DB_MAGIC</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="constant" href="constant.DB_PATH.html" title="constant example_bitcoind_rpc_polling::DB_PATH">DB_PATH</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="constant" href="constant.MEMPOOL_EMIT_DELAY.html" title="constant example_bitcoind_rpc_polling::MEMPOOL_EMIT_DELAY">MEMPOOL_EMIT_DELAY</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">Delay between mempool emissions.</div></li><li><div class="item-name"><a class="constant" href="constant.STDOUT_PRINT_DELAY.html" title="constant example_bitcoind_rpc_polling::STDOUT_PRINT_DELAY">STDOUT_PRINT_DELAY</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">Delay for printing status to stdout.</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.await_flag.html" title="fn example_bitcoind_rpc_polling::await_flag">await_flag</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.main.html" title="fn example_bitcoind_rpc_polling::main">main</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.start_ctrlc_handler.html" title="fn example_bitcoind_rpc_polling::start_ctrlc_handler">start_ctrlc_handler</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.ChangeSet.html" title="type example_bitcoind_rpc_polling::ChangeSet">ChangeSet</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `example_bitcoind_rpc_polling` crate."><title>example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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="../crates.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 mod crate"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Aliases</a></li></ul></section></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>Crate <a class="mod" href="#">example_bitcoind_rpc_polling</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#1-390">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.Emission.html" title="enum example_bitcoind_rpc_polling::Emission">Emission</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="enum" href="enum.RpcCommands.html" title="enum example_bitcoind_rpc_polling::RpcCommands">RpcCommands</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.CHANNEL_BOUND.html" title="constant example_bitcoind_rpc_polling::CHANNEL_BOUND">CHANNEL_BOUND</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">The mpsc channel bound for emissions from [<code>Emitter</code>].</div></li><li><div class="item-name"><a class="constant" href="constant.DB_COMMIT_DELAY.html" title="constant example_bitcoind_rpc_polling::DB_COMMIT_DELAY">DB_COMMIT_DELAY</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">Delay for committing to persistence.</div></li><li><div class="item-name"><a class="constant" href="constant.DB_MAGIC.html" title="constant example_bitcoind_rpc_polling::DB_MAGIC">DB_MAGIC</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="constant" href="constant.DB_PATH.html" title="constant example_bitcoind_rpc_polling::DB_PATH">DB_PATH</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="constant" href="constant.MEMPOOL_EMIT_DELAY.html" title="constant example_bitcoind_rpc_polling::MEMPOOL_EMIT_DELAY">MEMPOOL_EMIT_DELAY</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">Delay between mempool emissions.</div></li><li><div class="item-name"><a class="constant" href="constant.STDOUT_PRINT_DELAY.html" title="constant example_bitcoind_rpc_polling::STDOUT_PRINT_DELAY">STDOUT_PRINT_DELAY</a><span title="Restricted Visibility"> 🔒</span> </div><div class="desc docblock-short">Delay for printing status to stdout.</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.await_flag.html" title="fn example_bitcoind_rpc_polling::await_flag">await_flag</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.main.html" title="fn example_bitcoind_rpc_polling::main">main</a><span title="Restricted Visibility"> 🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.start_ctrlc_handler.html" title="fn example_bitcoind_rpc_polling::start_ctrlc_handler">start_ctrlc_handler</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.ChangeSet.html" title="type example_bitcoind_rpc_polling::ChangeSet">ChangeSet</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `RpcArgs` struct in crate `example_bitcoind_rpc_polling`."><title>RpcArgs in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">RpcArgs</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.fallback_height">fallback_height</a></li><li><a href="#structfield.rpc_cookie">rpc_cookie</a></li><li><a href="#structfield.rpc_password">rpc_password</a></li><li><a href="#structfield.rpc_user">rpc_user</a></li><li><a href="#structfield.url">url</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new_client">new_client</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Args-for-RpcArgs">Args</a></li><li><a href="#impl-Clone-for-RpcArgs">Clone</a></li><li><a href="#impl-Debug-for-RpcArgs">Debug</a></li><li><a href="#impl-From%3CRpcArgs%3E-for-Auth">From<RpcArgs></a></li><li><a href="#impl-FromArgMatches-for-RpcArgs">FromArgMatches</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-RpcArgs">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-RpcArgs">RefUnwindSafe</a></li><li><a href="#impl-Send-for-RpcArgs">Send</a></li><li><a href="#impl-Sync-for-RpcArgs">Sync</a></li><li><a href="#impl-Unpin-for-RpcArgs">Unpin</a></li><li><a href="#impl-UnwindSafe-for-RpcArgs">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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>Struct <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="struct" href="#">RpcArgs</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#51-67">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) struct RpcArgs {
+<!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="API documentation for the Rust `RpcArgs` struct in crate `example_bitcoind_rpc_polling`."><title>RpcArgs in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">RpcArgs</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.fallback_height">fallback_height</a></li><li><a href="#structfield.rpc_cookie">rpc_cookie</a></li><li><a href="#structfield.rpc_password">rpc_password</a></li><li><a href="#structfield.rpc_user">rpc_user</a></li><li><a href="#structfield.url">url</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new_client">new_client</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Args-for-RpcArgs">Args</a></li><li><a href="#impl-Clone-for-RpcArgs">Clone</a></li><li><a href="#impl-Debug-for-RpcArgs">Debug</a></li><li><a href="#impl-From%3CRpcArgs%3E-for-Auth">From<RpcArgs></a></li><li><a href="#impl-FromArgMatches-for-RpcArgs">FromArgMatches</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-RpcArgs">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-RpcArgs">RefUnwindSafe</a></li><li><a href="#impl-Send-for-RpcArgs">Send</a></li><li><a href="#impl-Sync-for-RpcArgs">Sync</a></li><li><a href="#impl-Unpin-for-RpcArgs">Unpin</a></li><li><a href="#impl-UnwindSafe-for-RpcArgs">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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>Struct <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="struct" href="#">RpcArgs</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#52-68">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) struct RpcArgs {
pub(crate) url: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
pub(crate) rpc_cookie: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>>,
pub(crate) rpc_user: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
</div><span id="structfield.rpc_user" class="structfield section-header"><a href="#structfield.rpc_user" class="anchor field">§</a><code>rpc_user: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><div class="docblock"><p>RPC auth username</p>
</div><span id="structfield.rpc_password" class="structfield section-header"><a href="#structfield.rpc_password" class="anchor field">§</a><code>rpc_password: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><div class="docblock"><p>RPC auth password</p>
</div><span id="structfield.fallback_height" class="structfield section-header"><a href="#structfield.fallback_height" class="anchor field">§</a><code>fallback_height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Starting block height to fallback to if no point of agreement if found</p>
-</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-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#81-94">source</a><a href="#impl-RpcArgs" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><section id="method.new_client" class="method"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#82-93">source</a><h4 class="code-header">pub(crate) fn <a href="#method.new_client" class="fn">new_client</a>(&self) -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><Client></h4></section></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-Args-for-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#impl-Args-for-RpcArgs" class="anchor">§</a><h3 class="code-header">impl Args for <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.augment_args" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#method.augment_args" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_args</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can instantiate <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.augment_args_for_update" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#method.augment_args_for_update" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_args_for_update</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can update <code>self</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#impl-Clone-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><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>(&self) -> <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#impl-Debug-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-From%3CRpcArgs%3E-for-Auth" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#69-79">source</a><a href="#impl-From%3CRpcArgs%3E-for-Auth" 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><<a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a>> for Auth</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#70-78">source</a><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>(args: <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a>) -> Self</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-FromArgMatches-for-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#impl-FromArgMatches-for-RpcArgs" class="anchor">§</a><h3 class="code-header">impl FromArgMatches for <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#method.from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches</a>(__clap_arg_matches: &ArgMatches) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#method.from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches_mut</a>(
+</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-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#82-95">source</a><a href="#impl-RpcArgs" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><section id="method.new_client" class="method"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#83-94">source</a><h4 class="code-header">pub(crate) fn <a href="#method.new_client" class="fn">new_client</a>(&self) -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><Client></h4></section></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-Args-for-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#impl-Args-for-RpcArgs" class="anchor">§</a><h3 class="code-header">impl Args for <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.augment_args" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#method.augment_args" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_args</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can instantiate <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.augment_args_for_update" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#method.augment_args_for_update" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_args_for_update</a><'b>(__clap_app: Command<'b>) -> Command<'b></h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can update <code>self</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#impl-Clone-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><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>(&self) -> <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#impl-Debug-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><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>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></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-From%3CRpcArgs%3E-for-Auth" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#70-80">source</a><a href="#impl-From%3CRpcArgs%3E-for-Auth" 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><<a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a>> for Auth</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#71-79">source</a><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>(args: <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a>) -> Self</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-FromArgMatches-for-RpcArgs" class="impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#impl-FromArgMatches-for-RpcArgs" class="anchor">§</a><h3 class="code-header">impl FromArgMatches for <a class="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#method.from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches</a>(__clap_arg_matches: &ArgMatches) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#method.from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches_mut</a>(
__clap_arg_matches: &mut ArgMatches
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#method.update_from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches</a>(
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Error></h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#method.update_from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches</a>(
&mut self,
__clap_arg_matches: &ArgMatches
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#50">source</a><a href="#method.update_from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches_mut</a>(
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../src/example_bitcoind_rpc_polling/main.rs.html#51">source</a><a href="#method.update_from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches_mut</a>(
&mut self,
__clap_arg_matches: &mut ArgMatches
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details></div></details></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-RpcArgs" class="impl"><a href="#impl-Freeze-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section><section id="impl-RefUnwindSafe-for-RpcArgs" class="impl"><a href="#impl-RefUnwindSafe-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section><section id="impl-Send-for-RpcArgs" class="impl"><a href="#impl-Send-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section><section id="impl-Sync-for-RpcArgs" class="impl"><a href="#impl-Sync-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section><section id="impl-Unpin-for-RpcArgs" class="impl"><a href="#impl-Unpin-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</a></h3></section><section id="impl-UnwindSafe-for-RpcArgs" class="impl"><a href="#impl-UnwindSafe-for-RpcArgs" 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="struct" href="struct.RpcArgs.html" title="struct example_bitcoind_rpc_polling::RpcArgs">RpcArgs</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<T> <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
-<!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="API documentation for the Rust `ChangeSet` type in crate `example_bitcoind_rpc_polling`."><title>ChangeSet in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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>Type Alias <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#38-41">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><Keychain>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `ChangeSet` type in crate `example_bitcoind_rpc_polling`."><title>ChangeSet in example_bitcoind_rpc_polling - 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="example_bitcoind_rpc_polling" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_bitcoind_rpc_polling/index.html">example_bitcoind_rpc_polling</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_bitcoind_rpc_polling</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>Type Alias <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_bitcoind_rpc_polling/main.rs.html#39-42">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<Keychain>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `create_tx` fn in crate `example_cli`."><title>create_tx in example_cli - 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="example_cli" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_cli</a>::<wbr><a class="fn" href="#">create_tx</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#199-413">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn create_tx<A: <a class="trait" href="../bdk_chain/tx_data_traits/trait.Anchor.html" title="trait bdk_chain::tx_data_traits::Anchor">Anchor</a>, O: <a class="trait" href="../bdk_chain/chain_oracle/trait.ChainOracle.html" title="trait bdk_chain::chain_oracle::ChainOracle">ChainOracle</a>>(
+<!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="API documentation for the Rust `create_tx` fn in crate `example_cli`."><title>create_tx in example_cli - 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="example_cli" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_cli</a>::<wbr><a class="fn" href="#">create_tx</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#199-413">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn create_tx<A: Anchor, O: ChainOracle>(
graph: &mut <a class="type" href="type.KeychainTxGraph.html" title="type example_cli::KeychainTxGraph">KeychainTxGraph</a><A>,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&O</a>,
keymap: &<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><DescriptorPublicKey, DescriptorSecretKey>,
address: Address,
value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>
) -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><(Transaction, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a>>)><div class="where">where
- O::<a class="associatedtype" href="../bdk_chain/chain_oracle/trait.ChainOracle.html#associatedtype.Error" title="type bdk_chain::chain_oracle::ChainOracle::Error">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></code></pre></section></div></main></body></html>
\ No newline at end of file
+ O::Error: <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `handle_commands` fn in crate `example_cli`."><title>handle_commands in example_cli - 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="example_cli" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_cli</a>::<wbr><a class="fn" href="#">handle_commands</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#447-673">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn handle_commands<CS: Subcommand, S: Args, A: <a class="trait" href="../bdk_chain/tx_data_traits/trait.Anchor.html" title="trait bdk_chain::tx_data_traits::Anchor">Anchor</a>, O: <a class="trait" href="../bdk_chain/chain_oracle/trait.ChainOracle.html" title="trait bdk_chain::chain_oracle::ChainOracle">ChainOracle</a>, C>(
+<!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="API documentation for the Rust `handle_commands` fn in crate `example_cli`."><title>handle_commands in example_cli - 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="example_cli" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_cli</a>::<wbr><a class="fn" href="#">handle_commands</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#447-673">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn handle_commands<CS: Subcommand, S: Args, A: Anchor, O: ChainOracle, C>(
graph: &<a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.Mutex.html" title="struct std::sync::mutex::Mutex">Mutex</a><<a class="type" href="type.KeychainTxGraph.html" title="type example_cli::KeychainTxGraph">KeychainTxGraph</a><A>>,
db: &<a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.Mutex.html" title="struct std::sync::mutex::Mutex">Mutex</a><Store<C>>,
chain: &<a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.Mutex.html" title="struct std::sync::mutex::Mutex">Mutex</a><O>,
broadcast: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(S, &Transaction) -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>>,
cmd: <a class="enum" href="enum.Commands.html" title="enum example_cli::Commands">Commands</a><CS, S>
) -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>><div class="where">where
- O::<a class="associatedtype" href="../bdk_chain/chain_oracle/trait.ChainOracle.html#associatedtype.Error" title="type bdk_chain::chain_oracle::ChainOracle::Error">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,
- C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../bdk_chain/tx_data_traits/trait.Append.html" title="trait bdk_chain::tx_data_traits::Append">Append</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="type" href="type.KeychainChangeSet.html" title="type example_cli::KeychainChangeSet">KeychainChangeSet</a><A>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,</div></code></pre></section></div></main></body></html>
\ No newline at end of file
+ O::Error: <a class="trait" href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,
+ C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + Append + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="type" href="type.KeychainChangeSet.html" title="type example_cli::KeychainChangeSet">KeychainChangeSet</a><A>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,</div></code></pre></section></div></main></body></html>
\ No newline at end of file
db_magic: &[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
db_default_path: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>
) -> <a class="type" href="https://docs.rs/anyhow/1.0.85/anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="struct" href="struct.Init.html" title="struct example_cli::Init">Init</a><CS, S, C>><div class="where">where
- C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../bdk_chain/tx_data_traits/trait.Append.html" title="trait bdk_chain::tx_data_traits::Append">Append</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Parses command line arguments and initializes all components, creating
+ C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + Append + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Parses command line arguments and initializes all components, creating
a file store with the given parameters, or loading one if it exists.</p>
</div></details></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `planned_utxos` fn in crate `example_cli`."><title>planned_utxos in example_cli - 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="example_cli" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_cli</a>::<wbr><a class="fn" href="#">planned_utxos</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#418-445">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn planned_utxos<A: <a class="trait" href="../bdk_chain/tx_data_traits/trait.Anchor.html" title="trait bdk_chain::tx_data_traits::Anchor">Anchor</a>, O: <a class="trait" href="../bdk_chain/chain_oracle/trait.ChainOracle.html" title="trait bdk_chain::chain_oracle::ChainOracle">ChainOracle</a>, K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + CanDerive>(
+<!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="API documentation for the Rust `planned_utxos` fn in crate `example_cli`."><title>planned_utxos in example_cli - 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="example_cli" 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 fn"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><div class="sidebar-elems"></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>Function <a href="index.html">example_cli</a>::<wbr><a class="fn" href="#">planned_utxos</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#418-445">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn planned_utxos<A: Anchor, O: ChainOracle, K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + CanDerive>(
graph: &<a class="type" href="type.KeychainTxGraph.html" title="type example_cli::KeychainTxGraph">KeychainTxGraph</a><A>,
chain: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&O</a>,
assets: &Assets<K>
-) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="type" href="type.PlannedUtxo.html" title="type example_cli::PlannedUtxo">PlannedUtxo</a><K, A>>, O::<a class="associatedtype" href="../bdk_chain/chain_oracle/trait.ChainOracle.html#associatedtype.Error" title="type bdk_chain::chain_oracle::ChainOracle::Error">Error</a>></code></pre></section></div></main></body></html>
\ No newline at end of file
+) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="type" href="type.PlannedUtxo.html" title="type example_cli::PlannedUtxo">PlannedUtxo</a><K, A>>, O::Error></code></pre></section></div></main></body></html>
\ No newline at end of file
<!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="API documentation for the Rust `CreateTxChange` struct in crate `example_cli`."><title>CreateTxChange in example_cli - 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="example_cli" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">CreateTxChange</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.change_keychain">change_keychain</a></li><li><a href="#structfield.index">index</a></li><li><a href="#structfield.index_changeset">index_changeset</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-CreateTxChange">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-CreateTxChange">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CreateTxChange">Send</a></li><li><a href="#impl-Sync-for-CreateTxChange">Sync</a></li><li><a href="#impl-Unpin-for-CreateTxChange">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CreateTxChange">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_cli</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>Struct <a href="index.html">example_cli</a>::<wbr><a class="struct" href="#">CreateTxChange</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#193-197">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CreateTxChange {
- pub index_changeset: <a class="struct" href="../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>,
+ pub index_changeset: ChangeSet<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>,
pub change_keychain: <a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>,
pub index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.index_changeset" class="structfield section-header"><a href="#structfield.index_changeset" class="anchor field">§</a><code>index_changeset: <a class="struct" href="../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>></code></span><span id="structfield.change_keychain" class="structfield section-header"><a href="#structfield.change_keychain" class="anchor field">§</a><code>change_keychain: <a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a></code></span><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code></span><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-CreateTxChange" class="impl"><a href="#impl-Freeze-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-RefUnwindSafe-for-CreateTxChange" class="impl"><a href="#impl-RefUnwindSafe-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-Send-for-CreateTxChange" class="impl"><a href="#impl-Send-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-Sync-for-CreateTxChange" class="impl"><a href="#impl-Sync-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-Unpin-for-CreateTxChange" class="impl"><a href="#impl-Unpin-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-UnwindSafe-for-CreateTxChange" class="impl"><a href="#impl-UnwindSafe-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</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<T> <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
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.index_changeset" class="structfield section-header"><a href="#structfield.index_changeset" class="anchor field">§</a><code>index_changeset: ChangeSet<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>></code></span><span id="structfield.change_keychain" class="structfield section-header"><a href="#structfield.change_keychain" class="anchor field">§</a><code>change_keychain: <a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a></code></span><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code></span><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-CreateTxChange" class="impl"><a href="#impl-Freeze-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-RefUnwindSafe-for-CreateTxChange" class="impl"><a href="#impl-RefUnwindSafe-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-Send-for-CreateTxChange" class="impl"><a href="#impl-Send-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-Sync-for-CreateTxChange" class="impl"><a href="#impl-Sync-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-Unpin-for-CreateTxChange" class="impl"><a href="#impl-Unpin-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</a></h3></section><section id="impl-UnwindSafe-for-CreateTxChange" class="impl"><a href="#impl-UnwindSafe-for-CreateTxChange" 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="struct" href="struct.CreateTxChange.html" title="struct example_cli::CreateTxChange">CreateTxChange</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<T> <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
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>(&self) -> <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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&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-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<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" 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" 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) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
<!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="The initial state returned by `init`."><title>Init in example_cli - 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="example_cli" 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 struct"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">Init</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.args">args</a></li><li><a href="#structfield.db">db</a></li><li><a href="#structfield.index">index</a></li><li><a href="#structfield.init_changeset">init_changeset</a></li><li><a href="#structfield.keymap">keymap</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Init%3CCS,+S,+C%3E">!Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Init%3CCS,+S,+C%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Init%3CCS,+S,+C%3E">Send</a></li><li><a href="#impl-Sync-for-Init%3CCS,+S,+C%3E">Sync</a></li><li><a href="#impl-Unpin-for-Init%3CCS,+S,+C%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Init%3CCS,+S,+C%3E">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-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip<V></a></li></ul></section><h2><a href="index.html">In crate example_cli</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>Struct <a href="index.html">example_cli</a>::<wbr><a class="struct" href="#">Init</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#676-690">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Init<CS: Subcommand, S: Args, C><div class="where">where
- C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="../bdk_chain/tx_data_traits/trait.Append.html" title="trait bdk_chain::tx_data_traits::Append">Append</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div>{
+ C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + Append + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> + <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div>{
pub args: <a class="struct" href="struct.Args.html" title="struct example_cli::Args">Args</a><CS, S>,
pub keymap: KeyMap,
- pub index: <a class="struct" href="../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>,
+ pub index: KeychainTxOutIndex<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>,
pub db: <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.Mutex.html" title="struct std::sync::mutex::Mutex">Mutex</a><Store<C>>,
pub init_changeset: C,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The initial state returned by <a href="fn.init.html" title="fn example_cli::init"><code>init</code></a>.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.args" class="structfield section-header"><a href="#structfield.args" class="anchor field">§</a><code>args: <a class="struct" href="struct.Args.html" title="struct example_cli::Args">Args</a><CS, S></code></span><div class="docblock"><p>Arguments parsed by the cli.</p>
</div><span id="structfield.keymap" class="structfield section-header"><a href="#structfield.keymap" class="anchor field">§</a><code>keymap: KeyMap</code></span><div class="docblock"><p>Descriptor keymap.</p>
-</div><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: <a class="struct" href="../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>></code></span><div class="docblock"><p>Keychain-txout index.</p>
+</div><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: KeychainTxOutIndex<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>></code></span><div class="docblock"><p>Keychain-txout index.</p>
</div><span id="structfield.db" class="structfield section-header"><a href="#structfield.db" class="anchor field">§</a><code>db: <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.Mutex.html" title="struct std::sync::mutex::Mutex">Mutex</a><Store<C>></code></span><div class="docblock"><p>Persistence backend.</p>
</div><span id="structfield.init_changeset" class="structfield section-header"><a href="#structfield.init_changeset" class="anchor field">§</a><code>init_changeset: C</code></span><div class="docblock"><p>Initial changeset.</p>
</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-Init%3CCS,+S,+C%3E" class="impl"><a href="#impl-Freeze-for-Init%3CCS,+S,+C%3E" class="anchor">§</a><h3 class="code-header">impl<CS, S, C> !<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="struct" href="struct.Init.html" title="struct example_cli::Init">Init</a><CS, S, C></h3></section><section id="impl-RefUnwindSafe-for-Init%3CCS,+S,+C%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Init%3CCS,+S,+C%3E" class="anchor">§</a><h3 class="code-header">impl<CS, S, C> <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="struct" href="struct.Init.html" title="struct example_cli::Init">Init</a><CS, S, C><div class="where">where
-<!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="API documentation for the Rust `KeychainChangeSet` type in crate `example_cli`."><title>KeychainChangeSet in example_cli - 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="example_cli" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">KeychainChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_cli</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>Type Alias <a href="index.html">example_cli</a>::<wbr><a class="type" href="#">KeychainChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#31-34">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type KeychainChangeSet<A> = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><A, <a class="struct" href="../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `KeychainChangeSet` type in crate `example_cli`."><title>KeychainChangeSet in example_cli - 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="example_cli" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">KeychainChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_cli</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>Type Alias <a href="index.html">example_cli</a>::<wbr><a class="type" href="#">KeychainChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#31-34">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type KeychainChangeSet<A> = (ChangeSet, ChangeSet<A, ChangeSet<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `KeychainTxGraph` type in crate `example_cli`."><title>KeychainTxGraph in example_cli - 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="example_cli" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">KeychainTxGraph</a></h2><div class="sidebar-elems"><section><h3><a href="#aliased-type">Aliased type</a></h3><h3><a href="#fields">Fields</a></h3><ul class="block field"><li><a href="#structfield.index">index</a></li></ul></section><h2><a href="index.html">In crate example_cli</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>Type Alias <a href="index.html">example_cli</a>::<wbr><a class="type" href="#">KeychainTxGraph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#30">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type KeychainTxGraph<A> = <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html" title="struct bdk_chain::indexed_tx_graph::IndexedTxGraph">IndexedTxGraph</a><A, <a class="struct" href="../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>;</code></pre><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct KeychainTxGraph<A> {
- pub index: <a class="struct" href="../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>,
+<!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="API documentation for the Rust `KeychainTxGraph` type in crate `example_cli`."><title>KeychainTxGraph in example_cli - 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="example_cli" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">KeychainTxGraph</a></h2><div class="sidebar-elems"><section><h3><a href="#aliased-type">Aliased type</a></h3><h3><a href="#fields">Fields</a></h3><ul class="block field"><li><a href="#structfield.index">index</a></li></ul></section><h2><a href="index.html">In crate example_cli</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>Type Alias <a href="index.html">example_cli</a>::<wbr><a class="type" href="#">KeychainTxGraph</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#30">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>;</code></pre><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct KeychainTxGraph<A> {
+ pub index: KeychainTxOutIndex<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>,
<span class="comment">/* private fields */</span>
-}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: <a class="struct" href="../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>></code></span><div class="docblock"><p>Transaction index.</p>
+}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.index" class="structfield section-header"><a href="#structfield.index" class="anchor field">§</a><code>index: KeychainTxOutIndex<<a class="enum" href="enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>></code></span><div class="docblock"><p>Transaction index.</p>
</div><script src="../type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js" data-self-path="example_cli::KeychainTxGraph" async></script></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `PlannedUtxo` type in crate `example_cli`."><title>PlannedUtxo in example_cli - 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="example_cli" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">PlannedUtxo</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_cli</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>Type Alias <a href="index.html">example_cli</a>::<wbr><a class="type" href="#">PlannedUtxo</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#416">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type PlannedUtxo<K, A> = (Plan<K>, <a class="struct" href="../bdk_chain/chain_data/struct.FullTxOut.html" title="struct bdk_chain::chain_data::FullTxOut">FullTxOut</a><A>);</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `PlannedUtxo` type in crate `example_cli`."><title>PlannedUtxo in example_cli - 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="example_cli" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_cli/index.html">example_cli</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">PlannedUtxo</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_cli</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>Type Alias <a href="index.html">example_cli</a>::<wbr><a class="type" href="#">PlannedUtxo</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_cli/lib.rs.html#416">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type PlannedUtxo<K, A> = (Plan<K>, FullTxOut<A>);</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `ChangeSet` type in crate `example_electrum`."><title>ChangeSet in example_electrum - 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="example_electrum" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_electrum/index.html">example_electrum</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_electrum</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>Type Alias <a href="index.html">example_electrum</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_electrum/main.rs.html#101-104">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationHeightAnchor">ConfirmationHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="../example_cli/enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `ChangeSet` type in crate `example_electrum`."><title>ChangeSet in example_electrum - 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="example_electrum" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_electrum/index.html">example_electrum</a><span class="version">0.2.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_electrum</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>Type Alias <a href="index.html">example_electrum</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_electrum/main.rs.html#101-104">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationHeightAnchor, ChangeSet<Keychain>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="API documentation for the Rust `ChangeSet` type in crate `example_esplora`."><title>ChangeSet in example_esplora - 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="example_esplora" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_esplora/index.html">example_esplora</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_esplora</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>Type Alias <a href="index.html">example_esplora</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_esplora/main.rs.html#27-30">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/txout_index/struct.ChangeSet.html" title="struct bdk_chain::keychain::txout_index::ChangeSet">ChangeSet</a><<a class="enum" href="../example_cli/enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
+<!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="API documentation for the Rust `ChangeSet` type in crate `example_esplora`."><title>ChangeSet in example_esplora - 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="example_esplora" 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 type"><!--[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></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../example_esplora/index.html">example_esplora</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In crate example_esplora</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>Type Alias <a href="index.html">example_esplora</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/example_esplora/main.rs.html#27-30">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<Keychain>>);</code></pre></section></div></main></body></html>
\ No newline at end of file
-<!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="Documentation for Rustdoc"><title>Help</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_bitcoind_rpc" 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="./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 mod sys"><!--[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="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.80.0-nightly</span></h2></div><div class="version">(78a775127 2024-05-11)</div><h2 class="location">Help</h2><div class="sidebar-elems"></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>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>
\ No newline at end of file
+<!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="Documentation for Rustdoc"><title>Help</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_testenv" 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="./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 mod sys"><!--[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="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.80.0-nightly</span></h2></div><div class="version">(78a775127 2024-05-11)</div><h2 class="location">Help</h2><div class="sidebar-elems"></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>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>
\ No newline at end of file
var searchIndex = new Map(JSON.parse('[\
["bdk_bitcoind_rpc",{"t":"KFFEONNNNNNONNNNNNMNNNNNNNNNNNN","n":["BitcoindRpcErrorExt","BlockEvent","Emitter","bitcoincore_rpc","block","block_hash","block_height","borrow","borrow","borrow_mut","borrow_mut","checkpoint","connected_to","fmt","from","from","into","into","is_not_found_error","mempool","new","next_block","next_header","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"bdk_bitcoind_rpc"],[31,"bitcoin::blockdata::block"],[32,"bdk_chain::chain_data"],[33,"core::fmt"],[34,"bitcoin::blockdata::transaction"],[35,"alloc::vec"],[36,"bitcoincore_rpc::error"],[37,"core::result"],[38,"bitcoincore_rpc::client"],[39,"bdk_chain::local_chain"],[40,"core::option"],[41,"core::any"]],"i":[0,0,0,0,1,1,1,12,1,12,1,1,1,1,12,1,12,1,10,12,12,12,12,12,1,12,1,12,1,12,1],"f":"`````{{{d{{b{c}}}}}f{}}{{{d{{b{c}}}}}h{}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0`{{{d{{b{c}}}}}l{}}{{{d{{b{c}}}}{d{jn}}}A`Ab}{cc{}}0{ce{}{}}0{{{d{Ad}}}Af}{{{d{j{Ah{c}}}}}{{Bd{{B`{{An{AjAl}}}}Bb}}}Bf}{{{d{c}}Bhh}{{Ah{c}}}Bf}{{{d{j{Ah{c}}}}}{{Bd{{Bl{{b{Bj}}}}Bb}}}Bf}{{{d{j{Ah{c}}}}}{{Bd{{Bl{{b{Bn}}}}Bb}}}Bf}{c{{Bd{e}}}{}{}}000{{{d{c}}}C`{}}077","D":"Bd","p":[[5,"BlockEvent",0],[1,"reference"],[5,"BlockHash",31],[1,"u32"],[0,"mut"],[5,"BlockId",32],[5,"Formatter",33],[8,"Result",33],[10,"Debug",33],[10,"BitcoindRpcErrorExt",0],[1,"bool"],[5,"Emitter",0],[5,"Transaction",34],[1,"u64"],[1,"tuple"],[5,"Vec",35],[6,"Error",36],[6,"Result",37],[10,"RpcApi",38],[5,"CheckPoint",39],[5,"Block",31],[6,"Option",40],[5,"Header",31],[5,"TypeId",41]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA0ABAAEAAAACAADAA4AAAAYAAcA"}],\
-["bdk_chain",{"t":"KKKSFSKGFFGFPPKFRFEEEFFEPPNNMNNNOOMNNNNNNENNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNONNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNOONNNNCONNNNNNNNNNNNNMNNNMNNONNNCCNENONNNNONNNNNNNNNNNNDNNNNNNONCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONNNNNNNNNNNNNNNNNNNNNNNNNOOOFRFKNNNMNNNNNNNNNNNNNNNNNNNNNNNOOMMOMNNNNNNNNMNNNNNNNNNNNFFSPIGPIFFNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOFGPFIFFPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNGFFPPFFFFNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","Append","BIP32_MAX_INDEX","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","CombinedChangeSet","ConfirmationHeightAnchor","ConfirmationTime","ConfirmationTimeHeightAnchor","Confirmed","Confirmed","DescriptorExt","DescriptorId","Error","FullTxOut","Indexed","IndexedTxGraph","KeychainIndexed","SpkIterator","SpkTxOutIndex","TxGraph","Unconfirmed","Unconfirmed","all_spks","all_zeros","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","append","append","apply_changeset","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain_position","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","cmp","cmp","confirmation_height","confirmation_height","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","default","default","default","default","default","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_block_position","from_block_position","from_block_position","from_block_position","from_byte_array","from_engine","from_raw_hash","from_slice","from_slice_delegated","from_str","get_chain_tip","hash","hash","hash","hash","hash","hash","hash","height","index","index_of_spk","index_tx","index_txout","indexed_tx_graph","indexed_tx_graph","initial_changeset","insert_spk","into","into","into","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_empty","is_mature","is_on_coinbase","is_relevant","is_tx_relevant","is_used","keychain","local_chain","mark_used","miniscript","net_value","network","new","new_with_range","next","nth","outpoint","outpoints","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serde","serialize","serialize","serialize","serialize","serialize","serialize","spent_by","spk_at_index","spk_client","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","ChangeSet","IndexedTxGraph","Indexer","append","apply_block","apply_block_relevant","apply_changeset","apply_changeset","apply_update","as_ref","batch_insert_relevant","batch_insert_relevant_unconfirmed","batch_insert_unconfirmed","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","graph","index","index_tx","index_txout","indexer","initial_changeset","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","is_tx_relevant","new","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Balance","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","Indexed","InsertDescriptorError","KeychainAlreadyAssigned","KeychainIndexed","KeychainTxOutIndex","NoSuchKeychain","add","all_unbounded_spk_iters","append","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_descriptor","immature","index_of_spk","index_tx","index_txout","initial_changeset","inner","insert_descriptor","into","into","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","keychains_added","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","net_value","new","next_index","next_unused_spk","outpoints","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","serialize","spk_at_index","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","total","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","unused_keychain_spks","unused_spks","vzip","vzip","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","AlterCheckPointError","ApplyHeaderError","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","disconnect_from","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","from_tip","genesis_hash","get","get","get_chain_tip","hash","height","height","initial_changeset","insert","insert_block","into","into","into","into","into","into","into","into_iter","into_iter","is_block_in_chain","iter","iter_checkpoints","new","next","original_hash","prev","push","range","range","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_include_height","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FullScanRequest","FullScanResult","SyncRequest","SyncResult","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_outpoints","chain_spks","chain_spks_for_keychain","chain_tip","chain_tip","chain_txids","chain_update","chain_update","from","from","from","from","from_chain_tip","from_chain_tip","from_keychain_txout_index","graph_update","graph_update","inspect_outpoints","inspect_spks","inspect_spks_for_all_keychains","inspect_spks_for_keychain","inspect_txids","into","into","into","into","last_active_indices","outpoints","populate_with_revealed_spks","set_outpoints","set_spks","set_spks_for_keychain","set_txids","spks","spks_by_keychain","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txids","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","append","apply_changeset","apply_update","as_ref","balance","batch_insert_unconfirmed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts","eq","eq","eq","eq","eq","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_canonical_txs","map_anchors","map_anchors","new","next","next","outspends","partial_cmp","partial_cmp","serialize","to_owned","to_owned","to_owned","to_owned","to_string","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_chain_position","try_get_chain_spend","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_list_canonical_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","txs_with_no_anchor_or_last_seen","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[298,"bdk_chain::ConfirmationTime"],[301,"bdk_chain::indexed_tx_graph"],[358,"bdk_chain::keychain"],[497,"bdk_chain::keychain::InsertDescriptorError"],[501,"bdk_chain::local_chain"],[643,"bdk_chain::spk_client"],[707,"bdk_chain::tx_graph"],[869,"bdk_chain::spk_txout_index"],[870,"bitcoin::blockdata::script::owned"],[871,"alloc::collections::btree::map"],[872,"core::clone"],[873,"core::cmp"],[874,"core::fmt"],[875,"bdk_chain::descriptor_ext"],[876,"bdk_chain::tx_data_traits"],[877,"bdk_chain::chain_data"],[878,"bdk_chain::changeset"],[879,"bitcoin_hashes::sha256"],[880,"bdk_chain::spk_iter"],[881,"core::option"],[882,"miniscript::descriptor::key"],[883,"miniscript::descriptor"],[884,"core::borrow"],[885,"core::result"],[886,"serde::de"],[887,"bitcoin::blockdata::block"],[888,"bdk_chain::keychain::txout_index"],[889,"bitcoin_hashes"],[890,"bdk_chain::chain_oracle"],[891,"core::hash"],[892,"core::slice::index"],[893,"bitcoin::blockdata::script::borrowed"],[894,"bitcoin::blockdata::transaction"],[895,"bitcoin_units::amount"],[896,"core::ops::range"],[897,"alloc::collections::btree::set"],[898,"core::iter::traits::double_ended"],[899,"serde::ser"],[900,"alloc::string"],[901,"core::iter::traits::exact_size"],[902,"core::any"],[903,"core::iter::traits::collect"],[904,"core::default"],[905,"alloc::vec"],[906,"core::iter::traits::iterator"],[907,"core::marker"],[908,"core::ops::function"],[909,"core::convert"],[910,"alloc::sync"],[911,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,51,0,0,0,0,0,0,0,21,22,1,8,9,10,11,12,11,12,14,16,1,8,8,8,8,0,1,21,22,10,11,12,23,8,8,24,16,1,21,22,10,11,12,23,8,24,16,16,23,1,21,22,10,11,12,23,8,24,16,1,21,22,10,11,12,23,8,24,16,21,21,22,10,11,12,23,8,11,12,9,9,21,11,12,12,1,10,11,12,16,24,31,22,10,11,12,8,16,31,8,21,22,10,11,12,23,8,16,1,21,22,10,11,12,23,8,8,8,8,16,1,21,22,22,10,10,10,11,12,23,8,8,24,16,16,16,16,47,10,11,12,8,8,8,8,8,8,51,21,22,10,11,12,8,10,10,8,1,1,1,0,16,1,1,1,21,22,10,11,12,23,8,24,16,24,51,21,22,23,14,16,23,23,1,1,1,0,0,1,0,1,16,24,24,24,24,23,1,1,21,22,10,11,12,23,8,1,1,1,0,22,10,11,12,8,16,23,1,0,14,14,8,1,21,22,10,11,12,23,8,24,16,8,8,1,21,22,10,11,12,23,8,24,16,1,21,22,10,11,12,23,8,24,16,0,1,23,1,1,1,21,22,10,11,12,23,8,24,16,22,1,1,1,21,22,10,11,12,23,8,24,16,111,112,111,0,73,0,0,43,72,72,73,72,72,72,72,72,72,72,43,72,43,43,43,72,43,43,43,72,43,72,43,43,43,72,43,72,73,73,43,73,72,72,72,72,72,72,43,43,73,72,43,43,72,43,72,43,72,43,72,43,0,0,0,81,0,0,81,0,0,0,79,80,42,80,80,80,81,42,82,79,80,81,42,82,79,80,81,42,82,79,80,81,42,82,79,79,80,42,79,42,79,81,42,82,79,80,81,81,42,82,82,79,79,80,81,42,82,79,80,79,80,80,80,80,80,80,80,81,42,82,79,42,80,80,80,80,80,42,42,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,42,79,80,80,81,42,82,79,81,82,79,79,79,79,80,81,42,82,79,80,81,42,82,79,80,80,80,80,81,42,82,79,80,80,79,80,80,80,81,42,82,79,113,113,114,114,0,0,91,0,0,0,0,91,0,0,87,87,87,87,92,94,92,87,88,93,90,91,94,92,87,88,93,90,91,92,87,88,93,90,91,92,87,88,93,90,91,87,92,87,88,93,90,91,92,92,87,88,88,93,93,90,90,91,91,94,92,87,88,93,90,91,92,87,87,87,92,87,87,92,87,87,92,92,93,87,92,87,94,92,87,88,93,90,91,94,92,87,92,87,92,94,93,92,92,92,87,87,92,87,88,93,90,91,88,93,90,91,94,92,87,88,93,90,91,90,94,92,87,88,93,90,91,94,92,87,88,93,90,91,93,94,92,87,88,93,90,91,0,0,0,0,95,115,98,116,95,115,98,116,95,95,98,95,98,95,115,116,95,115,98,116,95,98,98,115,116,95,95,98,98,95,95,115,98,116,116,95,95,95,95,98,95,95,98,95,115,98,116,95,115,98,116,95,95,115,98,116,95,115,98,116,0,0,0,103,103,0,0,0,0,75,75,78,104,78,78,75,75,75,75,75,108,109,75,104,105,103,78,108,109,75,104,105,103,78,75,105,108,108,109,109,75,104,105,78,75,104,105,78,104,105,75,78,104,78,75,75,104,105,103,78,75,75,75,75,104,105,103,103,78,108,109,75,104,105,103,78,75,75,75,75,75,75,75,75,75,75,75,108,109,75,104,105,103,78,108,109,75,78,78,104,75,75,78,75,108,109,75,104,105,78,75,104,105,78,103,75,75,75,108,109,75,104,105,103,78,75,75,108,109,75,104,105,103,78,75,104,105,75,75,104,78,78,78,75,108,109,75,104,105,103,78,75,108,109,75,104,105,103,78,75,75,75],"f":"``````````````````````````{{{d{{b{c}}}}}{{d{{h{cf}}}}}{jln}}{{}A`}{{{d{Ab}}}Ad}{{{d{Ad}}}Ad}{{{d{Af}}}Ad}{{{d{Ah}}}Ad}``{{{d{AjAl}}Al}An}{{{d{Aj{B`{ce}}}}{B`{ce}}}AnlAb}{{{d{Aj{b{c}}}}e}An{jln}{}}{{{d{A`}}}{{d{c}}}{}}{{{d{A`}}}{{d{Bb}}}}{{{d{A`}}}{{d{{Bf{Bd}}}}}}{{{d{A`}}}{{d{{Bh{Bd}}}}}}`{{{d{c}}}{{d{e}}}{}{}}0000000200{{{d{Ajc}}}{{d{Aje}}}{}{}}000000000``{{{d{{b{c}}}}}{{b{c}}}j}{{{d{{Bj{c}}}}}{{Bj{c}}}j}{{{d{Bl}}}Bl}>{{{d{Af}}}Af}{{{d{Ah}}}Ah}{{{d{{Bn{c}}}}}{{Bn{c}}}j}{{{d{A`}}}A`}{{{d{{C`{c}}}}}{{C`{c}}}j}{{{d{{B`{ce}}}}}{{B`{ce}}}jj}{{{d{c}}{d{Aje}}}An{}{}}000000000{{{Bj{{d{c}}}}}{{Bj{c}}}j}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}Cbl}{{{d{Bl}}{d{Bl}}}Cb}{{{d{Ad}}{d{Ad}}}Cb}{{{d{Af}}{d{Af}}}Cb}{{{d{Ah}}{d{Ah}}}Cb}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}Cbl}{{{d{A`}}{d{A`}}}Cb}``{{{d{Ab}}}Cd}0{{{d{{Bj{c}}}}}{{Cf{Cd}}}Ab}{{{d{Af}}}Cd}{{{d{Ah}}}Cd}`{{}{{b{c}}}{}}{{}Ad}{{}Af}{{}Ah}{{}{{B`{ce}}}{}{}}{{{d{{C`{c}}}}}{{d{c}}}{{Cl{{Cj{Ch}}}}}}{{{d{Cn}}}A`}{c{{D`{Bl}}}Db}{c{{D`{Ad}}}Db}{c{{D`{Af}}}Db}{c{{D`{Ah}}}Db}{c{{D`{A`}}}Db}{c{{D`{{B`{eg}}}}}Db{lDd}{lDd}}{{{d{Cn}}}Df}{{}c{}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}DhDj}{{{d{Bl}}{d{Bl}}}Dh}{{{d{Ad}}{d{Ad}}}Dh}{{{d{Af}}{d{Af}}}Dh}{{{d{Ah}}{d{Ah}}}Dh}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}DhDj}{{{d{A`}}{d{A`}}}Dh}{{{d{{B`{ce}}}}{d{{B`{ce}}}}}DhDjDj}{{{d{{b{c}}}}{d{AjDl}}}Dnn}{{{d{{Bj{c}}}}{d{AjDl}}}Dnn}{{{d{Bl}}{d{AjDl}}}Dn}{{{d{Ad}}{d{AjDl}}}Dn}{{{d{Af}}{d{AjDl}}}Dn}{{{d{Ah}}{d{AjDl}}}Dn}{{{d{{Bn{c}}}}{d{AjDl}}}Dnn}{{{d{A`}}{d{AjDl}}}Dn}000{{{d{{B`{ce}}}}{d{AjDl}}}Dnnn}{cc{}}00{{{Bj{Ah}}}Bl}{{{Eb{{d{Cd}}{d{E`}}}}}Ad}{{{Eb{CdE`}}}Ad}33333{BbA`}44{{{Ef{c{Ed{e}}}}}{{B`{ec}}}{}{}}{Eh{{B`{ce}}}{}{}}{{{Ed{c}}}{{B`{ce}}}{}{}}{{{d{Ej}}AdEl}En}{{{d{Ej}}AdEl}Ad}{{{d{Ej}}AdEl}Af}{{{d{Ej}}AdEl}Ah}{cA`{}}08{{{d{{Bf{Bd}}}}}{{D`{A`F`}}}}0{{{d{Fb}}}{{D`{A`c}}}{}}{{{d{{Ff{}{{Fd{c}}}}}}}{{D`{Adc}}}n}{{{d{{Bj{c}}}}{d{Aje}}}AnFhFj}{{{d{Bl}}{d{Ajc}}}AnFj}{{{d{Ad}}{d{Ajc}}}AnFj}{{{d{Af}}{d{Ajc}}}AnFj}{{{d{Ah}}{d{Ajc}}}AnFj}{{{d{A`}}{d{Ajc}}}AnFj}``{{{d{A`}}c}{{d{e}}}{{Fl{{Bf{Bd}}}}}{}}{{{d{{b{c}}}}{d{Fn}}}{{Cf{{d{c}}}}}{jln}}{{{d{Aj{b{c}}}}{d{G`}}}e{jln}{}}{{{d{Aj{b{c}}}}Gb{d{Gd}}}e{jln}{}}``{{{d{{b{c}}}}}e{jln}{}}{{{d{Aj{b{c}}}}cf}Dh{jln}}{ce{}{}}0000000000{{{d{{Ff{}{{Fd{c}}}}}}AdAd}{{D`{{Cf{Dh}}c}}}n}{{{d{{Bj{c}}}}}Dh{}}{{{d{Bl}}}Dh}{{{d{{Bn{c}}}}Cd}DhAb}{{{d{Al}}}Dh}{{{d{{B`{ce}}}}}DhlAb}2`{{{d{{b{c}}}}{d{G`}}}Dh{jln}}0{{{d{{b{c}}}}{d{c}}}Dh{jln}}``{{{d{Aj{b{c}}}}{d{c}}}Dh{jln}}`{{{d{{b{c}}}}{d{G`}}e}Gf{jln}{{Gh{c}}}}`{c{{C`{c}}}{{Cl{{Cj{Ch}}}}}}{{ce}{{C`{c}}}{{Cl{{Cj{Ch}}}}}{{Gh{Cd}}}}{{{d{Aj{C`{c}}}}}{{Cf{e}}}{{Cl{{Cj{Ch}}}}}{}}{{{d{Aj{C`{c}}}}El}{{Cf{e}}}{{Cl{{Cj{Ch}}}}}{}}`{{{d{{b{c}}}}}{{d{{Gj{{Eb{cGb}}}}}}}{jln}}{{{d{{b{c}}}}e}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}{{Cf{Cb}}}H`}{{{d{Bl}}{d{Bl}}}{{Cf{Cb}}}}{{{d{Ad}}{d{Ad}}}{{Cf{Cb}}}}{{{d{Af}}{d{Af}}}{{Cf{Cb}}}}{{{d{Ah}}{d{Ah}}}{{Cf{Cb}}}}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}{{Cf{Cb}}}H`}{{{d{A`}}{d{A`}}}{{Cf{Cb}}}}{{{d{Aj{b{c}}}}{d{G`}}}{{Gj{c}}}{jln}}{{{d{Aj{b{c}}}}Gb{d{Gd}}}{{Cf{{d{c}}}}}{jln}}{{{d{{b{c}}}}{d{G`}}e}{{Eb{HbHb}}}{jln}{{Gh{c}}}}`{{{d{Bl}}c}D`Hd}{{{d{Ad}}c}D`Hd}{{{d{Af}}c}D`Hd}{{{d{Ah}}c}D`Hd}{{{d{A`}}c}D`Hd}{{{d{{B`{ce}}}}g}D`{lHf}{lHf}Hd}`{{{d{{b{c}}}}{d{c}}}{{Cf{{d{Fn}}}}}{jln}}`{{{d{AjAl}}}{{Cf{Al}}}}0{A`c{}}{{{d{c}}}e{}{}}000000000{A`Bb}{{{d{c}}}Hh{}}{c{{D`{e}}}{}{}}0000000000000000000`{{{d{{b{c}}}}Gb}{{Cf{{Eb{{d{c}}{d{Gd}}}}}}}{jln}}`{{{d{{b{c}}}}}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb{d{Gd}}}}}}}}Hj}}}{jln}}{{{d{{b{c}}}}Hl}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb{d{Gd}}}}}}}}}}}{jln}}{{{d{c}}}Hn{}}000000000{DfBl}{{{d{Aj{b{c}}}}{d{c}}}Dh{jln}}{{{d{{b{c}}}}e}{{`{{Gn{}{{Gl{{Eb{{d{c}}{d{Fn}}}}}}}}j}}}{jln}{{Gh{c}}}}{ce{}{}}000000000```````{{{d{Aj{Ef{ce}}}}{Ef{ce}}}AnAbAl}{{{d{Aj{I`{ce}}}}EjCd}{{Ef{c}}}{EnAb}Ib}{{{d{Aj{I`{ce}}}}{d{Ej}}Cd}{{Ef{c}}}{EnAb}Ib}{{{d{Aj{Ib{}{{Id{c}}}}}}c}An{}}{{{d{Aj{I`{ce}}}}{Ef{c}}}AnAbIb}{{{d{Aj{I`{ce}}}}{If{c}}}{{Ef{c}}}AbIb}{{{d{{I`{ce}}}}}{{d{{If{c}}}}}{}{}}{{{d{Aj{I`{ce}}}}i}{{Ef{c}}}AbIb{{Ih{}{{Gl{c}}}}}{{Ih{}{{Gl{{Eb{{d{G`}}g}}}}}}}}{{{d{Aj{I`{ce}}}}g}{{Ef{c}}}AbIb{{Ih{}{{Gl{{Eb{{d{G`}}Df}}}}}}}}{{{d{Aj{I`{ce}}}}g}{{Ef{c}}}AbIb{{Ih{}{{Gl{{Eb{G`Df}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{Ajc}}}{{d{Aje}}}{}{}}0{{{d{{Ef{ce}}}}}{{Ef{ce}}}jj}{{{d{c}}{d{Aje}}}An{}{}}{{}{{I`{ce}}}{}Ij}{{}{{Ef{ce}}}{}Ij}{c{{D`{{Ef{eg}}}}}Db{lDd}Dd}{{{d{{Ef{ce}}}}{d{{Ef{ce}}}}}DhDjDj}{{{d{{I`{ce}}}}{d{AjDl}}}Dnnn}{{{d{{Ef{ce}}}}{d{AjDl}}}Dnnn}{cc{}}{{{Ed{c}}}{{Ef{e{Ed{c}}}}}{}{}}{{{Il{c}}}{{Ef{ce}}}{}Ij}2{{{d{{I`{ce}}}}}{{d{{If{c}}}}}{}{}}``{{{d{Aj{Ib{}{{Id{c}}}}}}{d{G`}}}c{}}{{{d{Aj{Ib{}{{Id{c}}}}}}Gb{d{Gd}}}c{}}`{{{d{{Ib{}{{Id{c}}}}}}}c{}}{{{d{{I`{ce}}}}}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}Hlc}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}HlDf}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}G`}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}GbGd}{{Ef{c}}}AbIb}{ce{}{}}0{{{d{{Ef{ce}}}}}DhAbAl}{{{d{{Ib{}{{Id{c}}}}}}{d{G`}}}Dh{}}{c{{I`{ec}}}{}{}}{{{d{{Ef{ce}}}}g}D`{lHf}HfHd}{{{d{c}}}e{}{}}{c{{D`{e}}}{}{}}000{{{d{c}}}Hn{}}077``````````{{InIn}In}{{{d{{J`{c}}}}}{{h{c{C`{{Cj{Ch}}}}}}}{jln}}{{{d{Aj{Ed{c}}}}{Ed{c}}}Anl}{{{d{Aj{J`{c}}}}e}An{jln}{}}{{{d{Aj{J`{c}}}}{Ed{c}}}An{jln}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Ajc}}}{{d{Aje}}}{}{}}0000{{{d{{J`{c}}}}}{{J`{c}}}j}{{{d{{Jb{c}}}}}{{Jb{c}}}j}{{{d{{Ed{c}}}}}{{Ed{c}}}j}{{{d{{Jd{c}}}}}{{Jd{c}}}j}{{{d{In}}}In}{{{d{c}}{d{Aje}}}An{}{}}0000`{{}{{J`{c}}}{}}{{}{{Ed{c}}}{}}{{}In}{c{{D`{{Ed{e}}}}}Db{lDd}}{c{{D`{In}}}Db}{{{d{{Jb{c}}}}{d{{Jb{c}}}}}DhDj}{{{d{{Ed{c}}}}{d{{Ed{c}}}}}DhDj}{{{d{{Jd{c}}}}{d{{Jd{c}}}}}DhDj}{{{d{In}}{d{In}}}Dh}{{{d{{J`{c}}}}{d{AjDl}}}Dnn}{{{d{{Jb{c}}}}{d{AjDl}}}Dnn}0{{{d{{Ed{c}}}}{d{AjDl}}}Dnn}{{{d{{Jd{c}}}}{d{AjDl}}}Dnn}0{{{d{In}}{d{AjDl}}}Dn}0{cc{}}0000{{{d{{J`{c}}}}{d{c}}}{{Cf{{d{{Cj{Ch}}}}}}}{jln}}`{{{d{{J`{c}}}}{d{Fn}}}{{Cf{{d{{Eb{cCd}}}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{G`}}}e{jln}{}}{{{d{Aj{J`{c}}}}Gb{d{Gd}}}e{jln}{}}{{{d{{J`{c}}}}}e{jln}{}}{{{d{{J`{c}}}}}{{d{{b{{Eb{cCd}}}}}}}{jln}}{{{d{Aj{J`{c}}}}c{Cj{Ch}}}{{D`{{Ed{c}}{Jb{c}}}}}{jln}}{ce{}{}}0000{{{d{{Ed{c}}}}}Dhl}{{{d{{J`{c}}}}{d{G`}}}Dh{jln}}{{{d{{J`{c}}}}cCd}Dh{jln}}{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{Gb}}}}}}}}}{jln}}{{{d{{J`{c}}}}e}{{`{{Gn{}{{Gl{{Jh{cGb}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Eb{{d{c}}{d{{Cj{Ch}}}}}}}}}}Hj}}}{jln}}``{{{d{{J`{c}}}}{d{c}}}{{Cf{Cd}}}{jln}}{{{d{{J`{c}}}}}{{h{cCd}}}{jln}}10{{{d{{J`{c}}}}}Cd{jln}}{{{d{Aj{J`{c}}}}{d{c}}Cd}An{jln}}{{{d{Aj{J`{c}}}}cCd}Dh{jln}}{{{d{{J`{c}}}}{d{G`}}e}Gf{jln}{{Gh{c}}}}{Cd{{J`{c}}}{}}{{{d{{J`{c}}}}{d{c}}}{{Cf{{Eb{CdDh}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{c}}}{{Cf{{Eb{{Jf{f}}{Ed{c}}}}}}}{jln}}{{{d{{J`{c}}}}}{{d{{Gj{{Jh{cGb}}}}}}}{jln}}1{{{d{Aj{J`{c}}}}{d{c}}Cd}{{Cf{{Eb{{Jj{{Jf{f}}}}{Ed{c}}}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{{h{cCd}}}}}{{Ed{c}}}{jln}}{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{{d{Fn}}}}}}}}}}}{jln}}{{{d{{J`{c}}}}e}{{`{{Jl{}{{Gl{{Jh{c{d{Fn}}}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{J`{c}}}}{d{G`}}e}{{Eb{HbHb}}}{jln}{{Gh{c}}}}{{{d{{Ed{c}}}}e}D`{lHf}Hd}{{{d{In}}c}D`Hd}{{{d{{J`{c}}}}cCd}{{Cf{{d{Fn}}}}}{jln}}{{{d{c}}}e{}{}}0000{{{d{c}}}Hh{}}00{{{d{In}}}Hb}`0{c{{D`{e}}}{}{}}000000000{{{d{{J`{c}}}}Gb}{{Cf{{Jh{c{d{Gd}}}}}}}{jln}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Jh{c{Eb{Gb{d{Gd}}}}}}}}}}Hj}}}{jln}}{{{d{{J`{c}}}}Hl}{{`{{Gn{}{{Gl{{Jh{c{Eb{Gb{d{Gd}}}}}}}}}}}}}{jln}}{{{d{c}}}Hn{}}0000{{{d{{J`{c}}}}{d{c}}}{{Cf{{C`{{Cj{Ch}}}}}}}{jln}}{{{d{Aj{J`{c}}}}cCd}Dh{jln}}`{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{{d{Fn}}}}}}}}j}}}{jln}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Jh{c{d{Fn}}}}}}}}j}}}{jln}}{ce{}{}}0000``````````````{{{d{AjJn}}{d{Eh}}}{{D`{AnK`}}}}{{{d{AjJn}}{d{Kb}}Cd}{{D`{EhKd}}}}{{{d{AjJn}}{d{Kb}}CdAd}{{D`{EhKf}}}}{{{d{AjJn}}Kh}{{D`{EhKd}}}}{{{d{Kh}}}Ad}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{Ajc}}}{{d{Aje}}}{}{}}000000{{{d{Kh}}}Kh}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kj}}}Kj}{{{d{Kd}}}Kd}{{{d{Kf}}}Kf}{{{d{c}}{d{Aje}}}An{}{}}00000{{{d{AjJn}}Ad}{{D`{EhK`}}}}{{{d{Kh}}{d{Kh}}}Dh}{{{d{Jn}}{d{Jn}}}Dh}{{{d{K`}}{d{K`}}}Dh}{{{d{Kj}}{d{Kj}}}Dh}{{{d{Kd}}{d{Kd}}}Dh}{{{d{Kf}}{d{Kf}}}Dh}{{Khc}{{D`{KhKh}}}{{Ih{}{{Gl{Ad}}}}}}{{{d{Kh}}{d{AjDl}}}Dn}{{{d{Jn}}{d{AjDl}}}Dn}{{{d{K`}}{d{AjDl}}}Dn}0{{{d{Kj}}{d{AjDl}}}Dn}0{{{d{Kd}}{d{AjDl}}}Dn}0{{{d{Kf}}{d{AjDl}}}Dn}0{cc{}}000000{c{{D`{Kh{Cf{Kh}}}}}{{Ih{}{{Gl{Ad}}}}}}{{{h{CdE`}}}{{D`{JnK`}}}}{Eh{{D`{JnK`}}}}{E`{{Eb{JnEh}}}}{{{d{Kb}}Cd}Kh}{Kh{{D`{JnK`}}}}{{{d{Jn}}}E`}{{{d{Kh}}Cd}{{Cf{Kh}}}}{{{d{Jn}}Cd}{{Cf{Kh}}}}{{{d{Jn}}}{{D`{Adc}}}{}}{{{d{Kh}}}E`}{{{d{Kh}}}Cd}`{{{d{Jn}}}Eh}{{KhAd}Kh}{{{d{AjJn}}Ad}{{D`{EhKj}}}}{ce{}{}}0000000{Khc{}}{{{d{Jn}}AdAd}{{D`{{Cf{Dh}}c}}}{}}{{{d{Kh}}}Kl}{{{d{Jn}}}Kl}{AdKh}{{{d{AjKl}}}{{Cf{c}}}{}}`{{{d{Kh}}}{{Cf{Kh}}}}{{KhAd}{{D`{KhKh}}}}{{{d{Kh}}c}{{`{{Jl{}{{Gl{Kh}}}}}}}{{Gh{Cd}}}}{{{d{Jn}}c}{{`{{Jl{}{{Gl{Kh}}}}}}}{{Gh{Cd}}}}{{{d{Jn}}}Kh}{{{d{c}}}e{}{}}00000{{{d{c}}}Hh{}}000{c{{D`{e}}}{}{}}000000`0000000{{{d{c}}}Hn{}}000000`???????````{{{d{c}}}{{d{e}}}{}{}}000{{{d{Ajc}}}{{d{Aje}}}{}{}}000{{Kne}Kn{{Hj{}{{Gl{Gb}}}}L`}{{Ih{}{{Lb{c}}{Gl{Gb}}}}}}{{Kne}Kn{{Hj{}{{Gl{f}}}}L`}{{Ih{}{{Lb{c}}{Gl{f}}}}}}{{{Ld{c}}cg}{{Ld{c}}}{lj}{{Jl{}{{Gl{{Jf{f}}}}}}L`}{{Ih{}{{Lb{e}}}}}}``{{Kne}Kn{{Hj{}{{Gl{Hl}}}}L`}{{Ih{}{{Lb{c}}{Gl{Hl}}}}}}``{cc{}}000{KhKn}{Kh{{Ld{c}}}{lj}}{{Kh{d{{J`{c}}}}}{{Ld{c}}}{nlj}}``{{Knc}Kn{{Lf{{d{Gb}}}}L`Lh}}{{Knc}Kn{{Lf{{d{Fn}}}}L`Lh}}{{{Ld{c}}e}{{Ld{c}}}{L`lj}{{Lf{cCd{d{Fn}}}}L`Lhj}}{{{Ld{c}}ce}{{Ld{c}}}{L`lj}{{Lf{Cd{d{Fn}}}}L`Lh}}{{Knc}Kn{{Lf{{d{Hl}}}}L`Lh}}{ce{}{}}000``{{Kn{d{{J`{c}}}}e}Kn{jlnL`Lh}{{Gh{c}}}}{{Kne}Kn{{Hj{}{{Gl{Gb}}}}L`}{{Ih{}{{Lb{c}}}}}}{{Kne}Kn{{Hj{}{{Gl{f}}}}L`}{{Ih{}{{Lb{c}}}}}}>{{Kne}Kn{{Hj{}{{Gl{Hl}}}}L`}{{Ih{}{{Lb{c}}}}}}``{c{{D`{e}}}{}{}}0000000`{{{d{c}}}Hn{}}0006666`````````{{{d{{If{c}}}}}{{d{{Gj{{Eb{cHl}}}}}}}{}}{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}{{{d{{Il{c}}}}}{{`{{Jl{}{{Gl{Cd}}}}}}}Ab}``{{{d{Aj{Il{c}}}}{Il{c}}}Anl}{{{d{Aj{If{c}}}}{Il{c}}}An{jl}}{{{d{Aj{If{c}}}}{If{c}}}{{Il{c}}}{jl}}{{{d{{If{c}}}}}{{d{{If{c}}}}}{}}{{{d{{If{c}}}}{d{e}}Adik}InAb{{Ff{}{{Fd{Lj}}}}}j{{Ih{}{{Gl{{Eb{gGb}}}}}}}{{Lf{{d{g}}{d{Fn}}}{{Ll{Dh}}}}}}{{{d{Aj{If{c}}}}e}{{Il{c}}}{jl}{{Ih{}{{Gl{{Eb{G`Df}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{Ajc}}}{{d{Aje}}}{}{}}000000{{{d{{If{c}}}}{d{G`}}}{{D`{HbLn}}}{}}`{c{{Cf{Hb}}}{}}{c{{Cf{Gf}}}{}}10{{{d{{If{c}}}}}{{If{c}}}j}{{{d{{M`{ce}}}}}{{M`{ce}}}jj}{{{d{{Mb{ce}}}}}{{Mb{ce}}}jj}{{{d{{Il{c}}}}}{{Il{c}}}j}{{{d{c}}{d{Aje}}}An{}{}}000{{{d{{M`{ce}}}}{d{{M`{ce}}}}}Cbll}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}Cbll}{{}{{If{c}}}{}}{{}{{Il{c}}}{}}{{{d{{M`{ce}}}}}{{d{g}}}{}{}{}}{c{{D`{{Il{e}}}}}Db{lDd}}{{{d{{If{c}}}}{d{G`}}}{{`{{Jl{}{{Gl{{Eb{ElHl}}}}}}}}}{}}{{{d{{If{c}}}}{d{{If{c}}}}}DhDj}{{{d{{M`{ce}}}}{d{{M`{ce}}}}}DhDjDj}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}DhDjDj}{{{d{Ln}}{d{Ln}}}Dh}{{{d{{Il{c}}}}{d{{Il{c}}}}}DhDj}{{{d{{If{c}}}}{d{e}}Adi}{{`{{Jl{}{{Gl{{Eb{g{Bn{c}}}}}}}}}}}Ab{{Ff{}{{Fd{Lj}}}}}j{{Ih{}{{Gl{{Eb{gGb}}}}}}}}0{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}{{{d{{If{c}}}}{d{AjDl}}}Dnn}{{{d{{M`{ce}}}}{d{AjDl}}}Dnnn}{{{d{{Mb{ce}}}}{d{AjDl}}}Dnnn}{{{d{Ln}}{d{AjDl}}}Dn}0{{{d{{Il{c}}}}{d{AjDl}}}Dnn}{cc{}}000000{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{M`{{Md{G`}}c}}}}}}}}}{}}{{{d{{If{c}}}}{d{e}}AdHl}{{Cf{{Bj{{d{c}}}}}}}Ab{{Ff{}{{Fd{Lj}}}}}}{{{d{{If{c}}}}{d{e}}AdGb}{{Cf{{Eb{{Bj{{d{c}}}}Hl}}}}}Ab{{Ff{}{{Fd{Lj}}}}}}{{{d{{If{c}}}}Hl}{{Cf{{Md{G`}}}}}{}}{{{d{{If{c}}}}Hl}{{Cf{{M`{{Md{G`}}c}}}}}{}}{{{d{{If{c}}}}Gb}{{Cf{{d{Gd}}}}}{}}{{{d{{If{c}}}}}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}Hlc}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}HlDf}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}e}{{Il{c}}}{jl}{{Mf{{Md{G`}}}}}}{{{d{Aj{If{c}}}}GbGd}{{Il{c}}}{jl}}{ce{}{}}00000000{{{d{{If{c}}}}}Dh{}}{{{d{{Il{c}}}}}Dhl}``{{{d{{If{c}}}}{d{e}}Ad}{{`{{Jl{}{{Gl{{Mb{{Md{G`}}c}}}}}}}}}AbFf}{{{If{c}}g}{{If{e}}}{jl}{jl}{{Lf{c}{{Ll{e}}}}}}{{{Il{c}}g}{{Il{e}}}ll{{Lf{c}{{Ll{e}}}}}}{c{{If{e}}}{{Ih{}{{Gl{G`}}}}}{jl}}{{{d{Aj{Mh{cg}}}}}{{Cf{i}}}{}{}{{Lf{El{Md{G`}}}{{Ll{{Cf{e}}}}}}}{}}{{{d{Aj{Mj{cg}}}}}{{Cf{i}}}{}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}{}}{{{d{{If{c}}}}Gb}{{d{{Ml{Hl}}}}}{}}{{{d{{M`{ce}}}}{d{{M`{ce}}}}}{{Cf{Cb}}}H`H`}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}{{Cf{Cb}}}H`H`}{{{d{{Il{c}}}}e}D`{lHf}Hd}{{{d{c}}}e{}{}}000{{{d{c}}}Hh{}}{{{d{{If{c}}}}{d{e}}Adik}{{D`{In}}}AbFfj{{Ih{}{{Gl{{Eb{gGb}}}}}}}{{Lf{{d{g}}{d{Fn}}}{{Ll{Dh}}}}}}{{{d{{If{c}}}}{d{e}}Adi}{{`{{Jl{}{{Gl{{D`{{Eb{g{Bn{c}}}}}}}}}}}}}AbFfj{{Ih{}{{Gl{{Eb{gGb}}}}}}}}0{c{{D`{e}}}{}{}}000000{{{d{{If{c}}}}{d{e}}AdHl}{{D`{{Cf{{Bj{{d{c}}}}}}}}}AbFf}{{{d{{If{c}}}}{d{e}}AdGb}{{D`{{Cf{{Eb{{Bj{{d{c}}}}Hl}}}}}}}AbFf}2222222{{{d{{If{c}}}}{d{e}}Ad}{{`{{Jl{}{{Gl{{D`{{Mb{{Md{G`}}c}}}}}}}}}}}AbFf}``{{{d{{If{c}}}}Hl}{{Cf{{h{Cd{d{Gd}}}}}}}{}}{{{d{{If{c}}}}Hl}{{`{{Gn{}{{Gl{{Eb{Cd{d{{Ml{Hl}}}}}}}}}}}}}{}}`{{{d{{Il{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}``{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{M`{{Md{G`}}c}}}}}}}}}{}}{{{d{c}}}Hn{}}000000{{{d{Aj{If{c}}}}Df}{{Il{c}}}{jl}}{ce{}{}}000000{{{d{{If{c}}}}ei}{{Mh{ci}}}{jl}{{Mf{{Md{G`}}}}}{}{{Lf{El{Md{G`}}}{{Ll{{Cf{g}}}}}}}}{{{d{{If{c}}}}{d{G`}}g}{{Mj{cg}}}{}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}}{{{d{{If{c}}}}Hlg}{{Mj{cg}}}{jl}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}}","D":"BOl","p":[[5,"SpkTxOutIndex",0,869],[1,"reference"],[5,"ScriptBuf",870],[5,"BTreeMap",871],[10,"Clone",872],[10,"Ord",873],[10,"Debug",874],[5,"DescriptorId",0,875],[10,"Anchor",0,876],[5,"BlockId",0,877],[5,"ConfirmationHeightAnchor",0,877],[5,"ConfirmationTimeHeightAnchor",0,877],[0,"mut"],[10,"Append",0,876],[1,"unit"],[5,"CombinedChangeSet",0,878],[5,"Hash",879],[1,"u8"],[1,"slice"],[1,"array"],[6,"ChainPosition",0,877],[6,"ConfirmationTime",0,877],[5,"FullTxOut",0,877],[5,"SpkIterator",0,880],[6,"Ordering",873],[1,"u32"],[6,"Option",881],[6,"DescriptorPublicKey",882],[6,"Descriptor",883],[10,"Borrow",884],[10,"DescriptorExt",0,875],[6,"Result",885],[10,"Deserializer",886],[10,"Deserialize",886],[1,"u64"],[1,"bool"],[10,"PartialEq",873],[5,"Formatter",874],[8,"Result",874],[5,"BlockHash",887],[1,"tuple"],[5,"ChangeSet",358,888],[5,"ChangeSet",301],[8,"ChangeSet",501],[5,"Block",887],[1,"usize"],[10,"AnchorFromBlockPosition",0,876],[5,"FromSliceError",889],[1,"str"],[17,"Error"],[10,"ChainOracle",0,890],[10,"Hash",891],[10,"Hasher",891],[10,"SliceIndex",892],[5,"Script",893],[5,"Transaction",894],[5,"OutPoint",894],[5,"TxOut",894],[5,"SignedAmount",895],[10,"RangeBounds",896],[5,"BTreeSet",897],[17,"Item"],[10,"DoubleEndedIterator",898],[10,"PartialOrd",873],[5,"Amount",895],[10,"Serializer",899],[10,"Serialize",899],[5,"String",900],[10,"ExactSizeIterator",901],[5,"Txid",894],[5,"TypeId",902],[5,"IndexedTxGraph",301],[10,"Indexer",301],[17,"ChangeSet"],[5,"TxGraph",707],[10,"IntoIterator",903],[10,"Default",904],[5,"ChangeSet",707],[5,"Balance",358],[5,"KeychainTxOutIndex",358,888],[6,"InsertDescriptorError",358,888],[5,"NoSuchKeychain",358,888],[8,"Indexed",358],[8,"KeychainIndexed",358],[5,"Vec",905],[10,"Iterator",906],[5,"LocalChain",501],[5,"MissingGenesisError",501],[5,"Header",887],[5,"CannotConnectError",501],[6,"ApplyHeaderError",501],[5,"CheckPoint",501],[5,"AlterCheckPointError",501],[5,"CheckPointIter",501],[5,"SyncRequest",643],[10,"Send",907],[17,"IntoIter"],[5,"FullScanRequest",643],[10,"FnMut",908],[10,"Sync",907],[6,"Infallible",909],[17,"Output"],[6,"CalculateFeeError",707],[5,"TxNode",707],[5,"CanonicalTx",707],[5,"Arc",910],[10,"Into",909],[5,"TxAncestors",707],[5,"TxDescendants",707],[5,"HashSet",911],[15,"Confirmed",298],[15,"Unconfirmed",298],[15,"DescriptorAlreadyAssigned",497],[15,"KeychainAlreadyAssigned",497],[5,"SyncResult",643],[5,"FullScanResult",643]],"r":[[0,876],[1,876],[2,876],[3,880],[4,877],[6,890],[7,877],[8,878],[9,877],[10,877],[11,877],[14,875],[15,875],[17,877],[18,358],[19,301],[20,358],[21,880],[22,869],[23,707],[359,888],[360,888],[363,888],[366,888],[367,888]],"b":[[39,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[40,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[131,"impl-LowerHex-for-DescriptorId"],[132,"impl-UpperHex-for-DescriptorId"],[133,"impl-Display-for-DescriptorId"],[134,"impl-Debug-for-DescriptorId"],[140,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[141,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[150,"impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[151,"impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[152,"impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[328,"impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E"],[329,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[371,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[372,"impl-KeychainTxOutIndex%3CK%3E"],[404,"impl-Display-for-InsertDescriptorError%3CK%3E"],[405,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[407,"impl-Display-for-NoSuchKeychain%3CK%3E"],[408,"impl-Debug-for-NoSuchKeychain%3CK%3E"],[409,"impl-Display-for-Balance"],[410,"impl-Debug-for-Balance"],[552,"impl-Debug-for-MissingGenesisError"],[553,"impl-Display-for-MissingGenesisError"],[554,"impl-Display-for-AlterCheckPointError"],[555,"impl-Debug-for-AlterCheckPointError"],[556,"impl-Debug-for-CannotConnectError"],[557,"impl-Display-for-CannotConnectError"],[558,"impl-Display-for-ApplyHeaderError"],[559,"impl-Debug-for-ApplyHeaderError"],[773,"impl-Debug-for-CalculateFeeError"],[774,"impl-Display-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOcBSwATAAIAGAAAABwAAAAeAAIAJAACACgAFwBCABMAVwAGAGMAAQBmAAQAbQAFAHQAFACMAAIAlAAAAJcAAgCbAAQAoQACAKUABQCtAAAArwABALMAAAC/AAAAxQAAAMkAAADOAAAA0wABANgABgDiAAYA7gAKAPoAFAAUAQkAIQEJADIBAAA4AQAAPAELAEkBAQBaAQAAXQEJAHEBAAB0AQAAdgETAIsBEACkAQIArwEAAMgBAQDLAQcA1gEJAOMBBADtAQQABQIZACACBQAnAgkAQQIAAE8CAgBVAgAAXAIQAG4CDQB9AgYAiAIHALMCBwC8AgcA0gIAANUCAADYAg0A6AIRAPsCBAADAwUAIgMBACUDAAAsAwEALwMHADoDBgBDAwYAVAMGAFwDBgA="}],\
+["bdk_chain",{"t":"KKKSFFSKGFFGFPPKFRFIEEIFEPPNNMNNNOOMNNNNNENNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNOONNNNNNMNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNOOONCOCNNNNNNNNNNNMNNNMNNOCEONNNNONNNNNNNDNNNNNNNOCNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNONNNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNRKMMMMMCCFSPGPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGPFIFFPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNGFFPPFFFFNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","Append","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","CombinedChangeSet","ConfirmationHeightAnchor","ConfirmationTime","ConfirmationTimeHeightAnchor","Confirmed","Confirmed","DescriptorExt","DescriptorId","Error","FullTxOut","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","SpkIterator","TxGraph","Unconfirmed","Unconfirmed","add","all_zeros","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","append","append","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain_position","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","cmp","cmp","confirmation_height","confirmation_height","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","confirmed","default","default","default","default","default","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_block_position","from_block_position","from_block_position","from_block_position","from_byte_array","from_engine","from_raw_hash","from_slice","from_slice_delegated","from_str","get_chain_tip","hash","hash","hash","hash","hash","hash","hash","height","immature","index","indexed_tx_graph","indexed_tx_graph","indexer","into","into","into","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_empty","is_mature","is_on_coinbase","local_chain","miniscript","network","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serde","serialize","serialize","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_string","to_string","total","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","IndexedTxGraph","append","apply_block","apply_block_relevant","apply_changeset","apply_update","as_ref","batch_insert_relevant","batch_insert_relevant_unconfirmed","batch_insert_unconfirmed","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","graph","index","indexer","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","new","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ChangeSet","Indexer","apply_changeset","index_tx","index_txout","initial_changeset","is_tx_relevant","keychain_txout","spk_txout","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","InsertDescriptorError","KeychainAlreadyAssigned","KeychainTxOutIndex","NoSuchKeychain","all_unbounded_spk_iters","append","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","default","default","deserialize","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_descriptor","index_of_spk","index_tx","index_txout","initial_changeset","inner","insert_descriptor","into","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","keychains_added","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","net_value","new","next_index","next_unused_spk","outpoints","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","spk_at_index","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","unused_keychain_spks","unused_spks","vzip","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","SpkTxOutIndex","all_spks","apply_changeset","borrow","borrow_mut","clone","clone_into","default","fmt","from","index_of_spk","index_tx","index_txout","initial_changeset","insert_spk","into","is_relevant","is_tx_relevant","is_used","mark_used","net_value","outpoints","outputs_in_range","scan","scan_txout","sent_and_received","spk_at_index","to_owned","try_from","try_into","txout","txouts","txouts_in_tx","type_id","unmark_used","unused_spks","vzip","AlterCheckPointError","ApplyHeaderError","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","disconnect_from","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","from_tip","genesis_hash","get","get","get_chain_tip","hash","height","height","initial_changeset","insert","insert_block","into","into","into","into","into","into","into","into_iter","into_iter","is_block_in_chain","iter","iter_checkpoints","new","next","original_hash","prev","push","range","range","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_include_height","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FullScanRequest","FullScanResult","SyncRequest","SyncResult","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_outpoints","chain_spks","chain_spks_for_keychain","chain_tip","chain_tip","chain_txids","chain_update","chain_update","from","from","from","from","from_chain_tip","from_chain_tip","from_keychain_txout_index","graph_update","graph_update","inspect_outpoints","inspect_spks","inspect_spks_for_all_keychains","inspect_spks_for_keychain","inspect_txids","into","into","into","into","last_active_indices","outpoints","populate_with_revealed_spks","set_outpoints","set_spks","set_spks_for_keychain","set_txids","spks","spks_by_keychain","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txids","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","append","apply_changeset","apply_update","as_ref","balance","batch_insert_unconfirmed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts","eq","eq","eq","eq","eq","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_canonical_txs","map_anchors","map_anchors","new","next","next","outspends","partial_cmp","partial_cmp","serialize","to_owned","to_owned","to_owned","to_owned","to_string","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_chain_position","try_get_chain_spend","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_list_canonical_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","txs_with_no_anchor_or_last_seen","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[288,"bdk_chain::ConfirmationTime"],[291,"bdk_chain::indexed_tx_graph"],[341,"bdk_chain::indexer"],[350,"bdk_chain::indexer::keychain_txout"],[461,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[465,"bdk_chain::indexer::spk_txout"],[502,"bdk_chain::local_chain"],[644,"bdk_chain::spk_client"],[708,"bdk_chain::tx_graph"],[870,"bdk_chain::balance"],[871,"bdk_chain::descriptor_ext"],[872,"bdk_chain::tx_data_traits"],[873,"bdk_chain::chain_data"],[874,"bdk_chain::changeset"],[875,"core::cmp"],[876,"bitcoin_hashes::sha256"],[877,"core::clone"],[878,"bdk_chain::spk_iter"],[879,"core::option"],[880,"miniscript::descriptor::key"],[881,"miniscript::descriptor"],[882,"core::borrow"],[883,"core::result"],[884,"serde::de"],[885,"core::fmt"],[886,"bitcoin::blockdata::block"],[887,"bitcoin_hashes"],[888,"bdk_chain::chain_oracle"],[889,"core::hash"],[890,"core::slice::index"],[891,"core::ops::range"],[892,"serde::ser"],[893,"alloc::string"],[894,"bitcoin_units::amount"],[895,"core::any"],[896,"core::iter::traits::collect"],[897,"bitcoin::blockdata::transaction"],[898,"core::default"],[899,"alloc::collections::btree::map"],[900,"bitcoin::blockdata::script::borrowed"],[901,"core::iter::traits::double_ended"],[902,"core::iter::traits::exact_size"],[903,"bitcoin::blockdata::script::owned"],[904,"alloc::collections::btree::set"],[905,"alloc::vec"],[906,"core::iter::traits::iterator"],[907,"core::marker"],[908,"core::ops::function"],[909,"core::convert"],[910,"alloc::sync"],[911,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,17,19,0,0,49,0,0,0,0,0,0,0,17,19,1,2,3,5,6,7,6,7,9,11,2,2,2,2,0,1,17,19,5,6,7,20,2,2,21,11,1,17,19,5,6,7,20,2,21,11,11,20,1,17,19,5,6,7,20,2,21,11,1,17,19,5,6,7,20,2,21,11,17,17,19,5,6,7,20,2,6,7,3,3,17,6,7,7,1,1,5,6,7,11,21,28,1,19,5,6,7,2,11,28,2,1,17,19,5,6,7,20,2,11,1,1,17,19,5,6,7,20,2,2,2,2,11,1,17,19,19,5,5,5,6,7,20,2,2,21,11,11,11,11,45,5,6,7,2,2,2,2,2,2,49,17,19,5,6,7,2,5,5,1,2,0,11,0,1,17,19,5,6,7,20,2,21,11,21,49,17,19,20,9,11,20,20,0,0,11,21,21,21,21,20,17,19,5,6,7,20,2,0,1,19,5,6,7,2,11,20,0,9,9,2,1,17,19,5,6,7,20,2,21,11,2,1,2,1,1,1,1,17,19,5,6,7,20,2,21,11,1,17,19,5,6,7,20,2,21,11,0,20,1,17,19,5,6,7,20,2,21,11,19,1,1,17,19,5,6,7,20,2,21,11,111,112,111,0,0,41,60,60,60,60,60,60,60,60,60,41,60,41,41,41,60,41,41,41,60,41,60,41,41,41,60,41,60,41,60,60,60,60,60,60,41,41,60,41,41,60,41,60,41,60,41,60,41,61,0,61,61,61,61,61,0,0,0,0,74,0,74,0,0,72,40,72,72,72,74,40,75,72,74,40,75,72,74,40,75,72,74,40,75,72,40,40,74,40,75,72,74,74,40,75,75,72,74,40,75,72,72,72,72,72,72,72,72,74,40,75,40,72,72,72,72,72,40,40,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,40,72,72,74,40,75,74,75,72,74,40,75,72,74,40,75,72,72,72,72,74,40,75,72,72,72,72,72,74,40,75,113,113,114,114,0,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,0,0,91,0,0,0,0,91,0,0,87,87,87,87,92,94,92,87,88,93,90,91,94,92,87,88,93,90,91,92,87,88,93,90,91,92,87,88,93,90,91,87,92,87,88,93,90,91,92,92,87,88,88,93,93,90,90,91,91,94,92,87,88,93,90,91,92,87,87,87,92,87,87,92,87,87,92,92,93,87,92,87,94,92,87,88,93,90,91,94,92,87,92,87,92,94,93,92,92,92,87,87,92,87,88,93,90,91,88,93,90,91,94,92,87,88,93,90,91,90,94,92,87,88,93,90,91,94,92,87,88,93,90,91,93,94,92,87,88,93,90,91,0,0,0,0,95,115,98,116,95,115,98,116,95,95,98,95,98,95,115,116,95,115,98,116,95,98,98,115,116,95,95,98,98,95,95,115,98,116,116,95,95,95,95,98,95,95,98,95,115,98,116,95,115,98,116,95,95,115,98,116,95,115,98,116,0,0,0,103,103,0,0,0,0,62,62,67,104,67,67,62,62,62,62,62,108,109,62,104,105,103,67,108,109,62,104,105,103,67,62,105,108,108,109,109,62,104,105,67,62,104,105,67,104,105,62,67,104,67,62,62,104,105,103,67,62,62,62,62,104,105,103,103,67,108,109,62,104,105,103,67,62,62,62,62,62,62,62,62,62,62,62,108,109,62,104,105,103,67,108,109,62,67,67,104,62,62,67,62,108,109,62,104,105,67,62,104,105,67,103,62,62,62,108,109,62,104,105,103,67,62,62,108,109,62,104,105,103,67,62,104,105,62,62,104,67,67,67,62,108,109,62,104,105,103,67,62,108,109,62,104,105,103,67,62,62,62],"f":"```````````````````````````{{bb}b}{{}d}{{{h{f}}}j}{{{h{j}}}j}{{{h{l}}}j}{{{h{n}}}j}``{{{h{A`Ab}}Ab}Ad}{{{h{A`{Af{ce}}}}{Af{ce}}}AdAhf}{{{h{d}}}{{h{c}}}{}}{{{h{d}}}{{h{Aj}}}}{{{h{d}}}{{h{{An{Al}}}}}}{{{h{d}}}{{h{{B`{Al}}}}}}`{{{h{c}}}{{h{e}}}{}{}}0000002000{{{h{A`c}}}{{h{A`e}}}{}{}}000000000``{{{h{b}}}b}{{{h{{Bb{c}}}}}{{Bb{c}}}Bd}{{{h{Bf}}}Bf}={{{h{l}}}l}{{{h{n}}}n}{{{h{{Bh{c}}}}}{{Bh{c}}}Bd}{{{h{d}}}d}{{{h{{Bj{c}}}}}{{Bj{c}}}Bd}{{{h{{Af{ce}}}}}{{Af{ce}}}BdBd}{{{h{c}}{h{A`e}}}Ad{}{}}000000000{{{Bb{{h{c}}}}}{{Bb{c}}}Bd}{{{h{{Bb{c}}}}{h{{Bb{c}}}}}BlAh}{{{h{Bf}}{h{Bf}}}Bl}{{{h{j}}{h{j}}}Bl}{{{h{l}}{h{l}}}Bl}{{{h{n}}{h{n}}}Bl}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}BlAh}{{{h{d}}{h{d}}}Bl}``{{{h{f}}}Bn}0{{{h{{Bb{c}}}}}{{C`{Bn}}}f}{{{h{l}}}Bn}{{{h{n}}}Bn}``{{}b}{{}j}{{}l}{{}n}{{}{{Af{ce}}}{}{}}{{{h{{Bj{c}}}}}{{h{c}}}{{Cf{{Cd{Cb}}}}}}{{{h{Ch}}}d}{c{{Cj{b}}}Cl}{c{{Cj{Bf}}}Cl}{c{{Cj{j}}}Cl}{c{{Cj{l}}}Cl}{c{{Cj{n}}}Cl}{c{{Cj{d}}}Cl}{c{{Cj{{Af{eg}}}}}Cl{AhCn}{AhCn}}{{{h{Ch}}}D`}{{}c{}}{{{h{b}}{h{b}}}Db}{{{h{{Bb{c}}}}{h{{Bb{c}}}}}DbDd}{{{h{Bf}}{h{Bf}}}Db}{{{h{j}}{h{j}}}Db}{{{h{l}}{h{l}}}Db}{{{h{n}}{h{n}}}Db}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}DbDd}{{{h{d}}{h{d}}}Db}{{{h{{Af{ce}}}}{h{{Af{ce}}}}}DbDdDd}{{{h{b}}{h{A`Df}}}Dh}0{{{h{{Bb{c}}}}{h{A`Df}}}DhDj}{{{h{Bf}}{h{A`Df}}}Dh}{{{h{j}}{h{A`Df}}}Dh}{{{h{l}}{h{A`Df}}}Dh}{{{h{n}}{h{A`Df}}}Dh}{{{h{{Bh{c}}}}{h{A`Df}}}DhDj}{{{h{d}}{h{A`Df}}}Dh}000{{{h{{Af{ce}}}}{h{A`Df}}}DhDjDj}{cc{}}0{{{Bb{n}}}Bf}1{{{Dn{{h{Bn}}{h{Dl}}}}}j}{{{Dn{BnDl}}}j}33333{Ajd}4{{{E`{c}}}{{Af{ce}}}{}{}}5{{{Eb{c{E`{e}}}}}{{Af{ec}}}{}{}}{Ed{{Af{ce}}}{}{}}{{{h{Ef}}jEh}Ej}{{{h{Ef}}jEh}j}{{{h{Ef}}jEh}l}{{{h{Ef}}jEh}n}{cd{}}08{{{h{{An{Al}}}}}{{Cj{dEl}}}}0{{{h{En}}}{{Cj{dc}}}{}}{{{h{{Fb{}{{F`{c}}}}}}}{{Cj{jc}}}Dj}{{{h{{Bb{c}}}}{h{A`e}}}AdFdFf}{{{h{Bf}}{h{A`c}}}AdFf}{{{h{j}}{h{A`c}}}AdFf}{{{h{l}}{h{A`c}}}AdFf}{{{h{n}}{h{A`c}}}AdFf}{{{h{d}}{h{A`c}}}AdFf}```{{{h{d}}c}{{h{e}}}{{Fh{{An{Al}}}}}{}}```{ce{}{}}0000000000{{{h{{Fb{}{{F`{c}}}}}}jj}{{Cj{{C`{Db}}c}}}Dj}{{{h{{Bb{c}}}}}Db{}}{{{h{Bf}}}Db}{{{h{{Bh{c}}}}Bn}Dbf}{{{h{Ab}}}Db}{{{h{{Af{ce}}}}}DbAhf}2````{c{{Bj{c}}}{{Cf{{Cd{Cb}}}}}}{{ce}{{Bj{c}}}{{Cf{{Cd{Cb}}}}}{{Fj{Bn}}}}{{{h{A`{Bj{c}}}}}{{C`{e}}}{{Cf{{Cd{Cb}}}}}{}}{{{h{A`{Bj{c}}}}Eh}{{C`{e}}}{{Cf{{Cd{Cb}}}}}{}}`{{{h{{Bb{c}}}}{h{{Bb{c}}}}}{{C`{Bl}}}Fl}{{{h{Bf}}{h{Bf}}}{{C`{Bl}}}}{{{h{j}}{h{j}}}{{C`{Bl}}}}{{{h{l}}{h{l}}}{{C`{Bl}}}}{{{h{n}}{h{n}}}{{C`{Bl}}}}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}{{C`{Bl}}}Fl}{{{h{d}}{h{d}}}{{C`{Bl}}}}`{{{h{b}}c}CjFn}{{{h{Bf}}c}CjFn}{{{h{j}}c}CjFn}{{{h{l}}c}CjFn}{{{h{n}}c}CjFn}{{{h{d}}c}CjFn}{{{h{{Af{ce}}}}g}Cj{AhG`}{AhG`}Fn}``{{{h{A`Ab}}}{{C`{Ab}}}}0{dc{}}{{{h{c}}}e{}{}}000000000{dAj}{{{h{c}}}Gb{}}0{{{h{b}}}Gd}`0{c{{Cj{e}}}{}{}}0000000000000000000``{{{h{c}}}Gf{}}000000000{D`Bf}`{ce{}{}}000000000`````{{{h{A`{Eb{ce}}}}{Eb{ce}}}AdfAb}{{{h{A`{Gh{ce}}}}EfBn}{{Eb{c}}}{Ejf}Gj}{{{h{A`{Gh{ce}}}}{h{Ef}}Bn}{{Eb{c}}}{Ejf}Gj}{{{h{A`{Gh{ce}}}}{Eb{c}}}AdfGj}{{{h{A`{Gh{ce}}}}{Gl{c}}}{{Eb{c}}}fGj}{{{h{{Gh{ce}}}}}{{h{{Gl{c}}}}}{}{}}{{{h{A`{Gh{ce}}}}i}{{Eb{c}}}fGj{{H`{}{{Gn{c}}}}}{{H`{}{{Gn{{Dn{{h{Hb}}g}}}}}}}}{{{h{A`{Gh{ce}}}}g}{{Eb{c}}}fGj{{H`{}{{Gn{{Dn{{h{Hb}}D`}}}}}}}}{{{h{A`{Gh{ce}}}}g}{{Eb{c}}}fGj{{H`{}{{Gn{{Dn{HbD`}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{A`c}}}{{h{A`e}}}{}{}}0{{{h{{Eb{ce}}}}}{{Eb{ce}}}BdBd}{{{h{c}}{h{A`e}}}Ad{}{}}{{}{{Gh{ce}}}{}Hd}{{}{{Eb{ce}}}{}Hd}{c{{Cj{{Eb{eg}}}}}Cl{AhCn}Cn}{{{h{{Eb{ce}}}}{h{{Eb{ce}}}}}DbDdDd}{{{h{{Gh{ce}}}}{h{A`Df}}}DhDjDj}{{{h{{Eb{ce}}}}{h{A`Df}}}DhDjDj}{cc{}}{{{E`{c}}}{{Eb{e{E`{c}}}}}{}{}}{{{Hf{c}}}{{Eb{ce}}}{}Hd}2{{{h{{Gh{ce}}}}}{{h{{Gl{c}}}}}{}{}}```{{{h{{Gh{ce}}}}}{{Eb{c}}}fGj}{{{h{A`{Gh{ce}}}}Hhc}{{Eb{c}}}fGj}{{{h{A`{Gh{ce}}}}HhD`}{{Eb{c}}}fGj}{{{h{A`{Gh{ce}}}}Hb}{{Eb{c}}}fGj}{{{h{A`{Gh{ce}}}}HjHl}{{Eb{c}}}fGj}{ce{}{}}0{{{h{{Eb{ce}}}}}DbfAb}{c{{Gh{ec}}}{}{}}{{{h{{Eb{ce}}}}g}Cj{AhG`}G`Fn}{{{h{c}}}e{}{}}{c{{Cj{e}}}{}{}}000{{{h{c}}}Gf{}}066``{{{h{A`{Gj{}{{Hn{c}}}}}}c}Ad{}}{{{h{A`{Gj{}{{Hn{c}}}}}}{h{Hb}}}c{}}{{{h{A`{Gj{}{{Hn{c}}}}}}Hj{h{Hl}}}c{}}{{{h{{Gj{}{{Hn{c}}}}}}}c{}}{{{h{{Gj{}{{Hn{c}}}}}}{h{Hb}}}Db{}}`````````{{{h{{I`{c}}}}}{{Ib{c{Bj{{Cd{Cb}}}}}}}{BdAhDj}}{{{h{A`{E`{c}}}}{E`{c}}}AdAh}{{{h{A`{I`{c}}}}{E`{c}}}Ad{BdAhDj}}{{{h{A`{I`{c}}}}e}Ad{BdAhDj}{}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{A`c}}}{{h{A`e}}}{}{}}000{{{h{{I`{c}}}}}{{I`{c}}}Bd}{{{h{{Id{c}}}}}{{Id{c}}}Bd}{{{h{{E`{c}}}}}{{E`{c}}}Bd}{{{h{{If{c}}}}}{{If{c}}}Bd}{{{h{c}}{h{A`e}}}Ad{}{}}000{{}{{I`{c}}}{}}{{}{{E`{c}}}{}}{c{{Cj{{E`{e}}}}}Cl{AhCn}}{{{h{{Id{c}}}}{h{{Id{c}}}}}DbDd}{{{h{{E`{c}}}}{h{{E`{c}}}}}DbDd}{{{h{{If{c}}}}{h{{If{c}}}}}DbDd}{{{h{{I`{c}}}}{h{A`Df}}}DhDj}{{{h{{Id{c}}}}{h{A`Df}}}DhDj}0{{{h{{E`{c}}}}{h{A`Df}}}DhDj}{{{h{{If{c}}}}{h{A`Df}}}DhDj}0{cc{}}000{{{h{{I`{c}}}}{h{c}}}{{C`{{h{{Cd{Cb}}}}}}}{BdAhDj}}{{{h{{I`{c}}}}{h{Ih}}}{{C`{{h{{Dn{cBn}}}}}}}{BdAhDj}}{{{h{A`{I`{c}}}}{h{Hb}}}e{BdAhDj}{}}{{{h{A`{I`{c}}}}Hj{h{Hl}}}e{BdAhDj}{}}{{{h{{I`{c}}}}}e{BdAhDj}{}}{{{h{{I`{c}}}}}{{h{{Ij{{Dn{cBn}}}}}}}{BdAhDj}}{{{h{A`{I`{c}}}}c{Cd{Cb}}}{{Cj{{E`{c}}{Id{c}}}}}{BdAhDj}}{ce{}{}}000{{{h{{E`{c}}}}}DbAh}{{{h{{I`{c}}}}{h{Hb}}}Db{BdAhDj}}{{{h{{I`{c}}}}cBn}Db{BdAhDj}}{{{h{{I`{c}}}}{h{c}}}{{`{{In{}{{Gn{{Il{Hj}}}}}}}}}{BdAhDj}}{{{h{{I`{c}}}}e}{{`{{In{}{{Gn{{J`{cHj}}}}}}}}}{BdAhDj}{{Fj{c}}}}{{{h{{I`{c}}}}}{{`{{In{}{{Gn{{Dn{{h{c}}{h{{Cd{Cb}}}}}}}}}}Jb}}}{BdAhDj}}``{{{h{{I`{c}}}}{h{c}}}{{C`{Bn}}}{BdAhDj}}{{{h{{I`{c}}}}}{{Ib{cBn}}}{BdAhDj}}10{{{h{{I`{c}}}}}Bn{BdAhDj}}{{{h{A`{I`{c}}}}{h{c}}Bn}Ad{BdAhDj}}{{{h{A`{I`{c}}}}cBn}Db{BdAhDj}}{{{h{{I`{c}}}}{h{Hb}}e}Jd{BdAhDj}{{Fj{c}}}}{Bn{{I`{c}}}{}}{{{h{{I`{c}}}}{h{c}}}{{C`{{Dn{BnDb}}}}}{BdAhDj}}{{{h{A`{I`{c}}}}{h{c}}}{{C`{{Dn{{Il{Jf}}{E`{c}}}}}}}{BdAhDj}}{{{h{{I`{c}}}}}{{h{{Jh{{J`{cHj}}}}}}}{BdAhDj}}1{{{h{A`{I`{c}}}}{h{c}}Bn}{{C`{{Dn{{Jj{{Il{Jf}}}}{E`{c}}}}}}}{BdAhDj}}{{{h{A`{I`{c}}}}{h{{Ib{cBn}}}}}{{E`{c}}}{BdAhDj}}{{{h{{I`{c}}}}{h{c}}}{{`{{In{}{{Gn{{Il{{h{Ih}}}}}}}}}}}{BdAhDj}}{{{h{{I`{c}}}}e}{{`{{Jl{}{{Gn{{J`{c{h{Ih}}}}}}}}}}}{BdAhDj}{{Fj{c}}}}{{{h{{I`{c}}}}{h{Hb}}e}{{Dn{GdGd}}}{BdAhDj}{{Fj{c}}}}{{{h{{E`{c}}}}e}Cj{AhG`}Fn}{{{h{{I`{c}}}}cBn}{{C`{{h{Ih}}}}}{BdAhDj}}{{{h{c}}}e{}{}}000{{{h{c}}}Gb{}}0{c{{Cj{e}}}{}{}}0000000{{{h{{I`{c}}}}Hj}{{C`{{J`{c{h{Hl}}}}}}}{BdAhDj}}{{{h{{I`{c}}}}}{{`{{In{}{{Gn{{J`{c{Dn{Hj{h{Hl}}}}}}}}}}Jb}}}{BdAhDj}}{{{h{{I`{c}}}}Hh}{{`{{In{}{{Gn{{J`{c{Dn{Hj{h{Hl}}}}}}}}}}}}}{BdAhDj}}{{{h{c}}}Gf{}}000{{{h{{I`{c}}}}{h{c}}}{{C`{{Bj{{Cd{Cb}}}}}}}{BdAhDj}}{{{h{A`{I`{c}}}}cBn}Db{BdAhDj}}{{{h{{I`{c}}}}{h{c}}}{{`{{In{}{{Gn{{Il{{h{Ih}}}}}}}}Bd}}}{BdAhDj}}{{{h{{I`{c}}}}}{{`{{In{}{{Gn{{J`{c{h{Ih}}}}}}}}Bd}}}{BdAhDj}}{ce{}{}}000`````{{{h{{Ij{c}}}}}{{h{{Ib{cJf}}}}}{BdAhDj}}{{{h{A`{Ij{c}}}}e}Ad{BdAhDj}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{A`c}}}{{h{A`e}}}{}{}}{{{h{{Ij{c}}}}}{{Ij{c}}}Bd}{{{h{c}}{h{A`e}}}Ad{}{}}{{}{{Ij{c}}}{}}{{{h{{Ij{c}}}}{h{A`Df}}}DhDj}{cc{}}{{{h{{Ij{c}}}}{h{Ih}}}{{C`{{h{c}}}}}{BdAhDj}}{{{h{A`{Ij{c}}}}{h{Hb}}}e{BdAhDj}{}}{{{h{A`{Ij{c}}}}Hj{h{Hl}}}e{BdAhDj}{}}{{{h{{Ij{c}}}}}e{BdAhDj}{}}{{{h{A`{Ij{c}}}}cJf}Db{BdAhDj}}>{{{h{{Ij{c}}}}{h{Hb}}}Db{BdAhDj}}0{{{h{{Ij{c}}}}{h{c}}}Db{BdAhDj}}{{{h{A`{Ij{c}}}}{h{c}}}Db{BdAhDj}}{{{h{{Ij{c}}}}{h{Hb}}e}Jd{BdAhDj}{{Fj{c}}}}{{{h{{Ij{c}}}}}{{h{{Jh{{Dn{cHj}}}}}}}{BdAhDj}}{{{h{{Ij{c}}}}e}{{`{{In{}{{Gn{{Dn{{h{c}}Hj}}}}}}}}}{BdAhDj}{{Fj{c}}}}{{{h{A`{Ij{c}}}}{h{Hb}}}{{Jh{c}}}{BdAhDj}}{{{h{A`{Ij{c}}}}Hj{h{Hl}}}{{C`{{h{c}}}}}{BdAhDj}}{{{h{{Ij{c}}}}{h{Hb}}e}{{Dn{GdGd}}}{BdAhDj}{{Fj{c}}}}{{{h{{Ij{c}}}}{h{c}}}{{C`{{h{Ih}}}}}{BdAhDj}}{{{h{c}}}e{}{}}{c{{Cj{e}}}{}{}}0{{{h{{Ij{c}}}}Hj}{{C`{{Dn{{h{c}}{h{Hl}}}}}}}{BdAhDj}}{{{h{{Ij{c}}}}}{{`{{In{}{{Gn{{Dn{{h{c}}Hj{h{Hl}}}}}}}}Jb}}}{BdAhDj}}{{{h{{Ij{c}}}}Hh}{{`{{In{}{{Gn{{Dn{{h{c}}Hj{h{Hl}}}}}}}}}}}{BdAhDj}}{{{h{c}}}Gf{}}={{{h{{Ij{c}}}}e}{{`{{In{}{{Gn{{Dn{{h{c}}{h{Ih}}}}}}}}Bd}}}{BdAhDj}{{Fj{c}}}}{ce{}{}}``````````{{{h{A`Jn}}{h{Ed}}}{{Cj{AdK`}}}}{{{h{A`Jn}}{h{Kb}}Bn}{{Cj{EdKd}}}}{{{h{A`Jn}}{h{Kb}}Bnj}{{Cj{EdKf}}}}{{{h{A`Jn}}Kh}{{Cj{EdKd}}}}{{{h{Kh}}}j}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{A`c}}}{{h{A`e}}}{}{}}000000{{{h{Kh}}}Kh}{{{h{Jn}}}Jn}{{{h{K`}}}K`}{{{h{Kj}}}Kj}{{{h{Kd}}}Kd}{{{h{Kf}}}Kf}{{{h{c}}{h{A`e}}}Ad{}{}}00000{{{h{A`Jn}}j}{{Cj{EdK`}}}}{{{h{Kh}}{h{Kh}}}Db}{{{h{Jn}}{h{Jn}}}Db}{{{h{K`}}{h{K`}}}Db}{{{h{Kj}}{h{Kj}}}Db}{{{h{Kd}}{h{Kd}}}Db}{{{h{Kf}}{h{Kf}}}Db}{{Khc}{{Cj{KhKh}}}{{H`{}{{Gn{j}}}}}}{{{h{Kh}}{h{A`Df}}}Dh}{{{h{Jn}}{h{A`Df}}}Dh}{{{h{K`}}{h{A`Df}}}Dh}0{{{h{Kj}}{h{A`Df}}}Dh}0{{{h{Kd}}{h{A`Df}}}Dh}0{{{h{Kf}}{h{A`Df}}}Dh}0{cc{}}000000{c{{Cj{Kh{C`{Kh}}}}}{{H`{}{{Gn{j}}}}}}{{{Ib{BnDl}}}{{Cj{JnK`}}}}{Ed{{Cj{JnK`}}}}{Dl{{Dn{JnEd}}}}{{{h{Kb}}Bn}Kh}{Kh{{Cj{JnK`}}}}{{{h{Jn}}}Dl}{{{h{Kh}}Bn}{{C`{Kh}}}}{{{h{Jn}}Bn}{{C`{Kh}}}}{{{h{Jn}}}{{Cj{jc}}}{}}{{{h{Kh}}}Dl}{{{h{Kh}}}Bn}`{{{h{Jn}}}Ed}{{Khj}Kh}{{{h{A`Jn}}j}{{Cj{EdKj}}}}{ce{}{}}0000000{Khc{}}{{{h{Jn}}jj}{{Cj{{C`{Db}}c}}}{}}{{{h{Kh}}}Kl}{{{h{Jn}}}Kl}{jKh}{{{h{A`Kl}}}{{C`{c}}}{}}`{{{h{Kh}}}{{C`{Kh}}}}{{Khj}{{Cj{KhKh}}}}{{{h{Kh}}c}{{`{{Jl{}{{Gn{Kh}}}}}}}{{Fj{Bn}}}}{{{h{Jn}}c}{{`{{Jl{}{{Gn{Kh}}}}}}}{{Fj{Bn}}}}{{{h{Jn}}}Kh}{{{h{c}}}e{}{}}00000{{{h{c}}}Gb{}}000{c{{Cj{e}}}{}{}}000000`0000000{{{h{c}}}Gf{}}000000`???????````{{{h{c}}}{{h{e}}}{}{}}000{{{h{A`c}}}{{h{A`e}}}{}{}}000{{Kne}Kn{{Jb{}{{Gn{Hj}}}}L`}{{H`{}{{Lb{c}}{Gn{Hj}}}}}}{{Kne}Kn{{Jb{}{{Gn{Jf}}}}L`}{{H`{}{{Lb{c}}{Gn{Jf}}}}}}{{{Ld{c}}cg}{{Ld{c}}}{AhBd}{{Jl{}{{Gn{{Il{Jf}}}}}}L`}{{H`{}{{Lb{e}}}}}}``{{Kne}Kn{{Jb{}{{Gn{Hh}}}}L`}{{H`{}{{Lb{c}}{Gn{Hh}}}}}}``{cc{}}000{KhKn}{Kh{{Ld{c}}}{AhBd}}{{Kh{h{{I`{c}}}}}{{Ld{c}}}{DjAhBd}}``{{Knc}Kn{{Lf{{h{Hj}}}}L`Lh}}{{Knc}Kn{{Lf{{h{Ih}}}}L`Lh}}{{{Ld{c}}e}{{Ld{c}}}{L`AhBd}{{Lf{cBn{h{Ih}}}}L`LhBd}}{{{Ld{c}}ce}{{Ld{c}}}{L`AhBd}{{Lf{Bn{h{Ih}}}}L`Lh}}{{Knc}Kn{{Lf{{h{Hh}}}}L`Lh}}{ce{}{}}000``{{Kn{h{{I`{c}}}}e}Kn{BdAhDjL`Lh}{{Fj{c}}}}{{Kne}Kn{{Jb{}{{Gn{Hj}}}}L`}{{H`{}{{Lb{c}}}}}}{{Kne}Kn{{Jb{}{{Gn{Jf}}}}L`}{{H`{}{{Lb{c}}}}}}>{{Kne}Kn{{Jb{}{{Gn{Hh}}}}L`}{{H`{}{{Lb{c}}}}}}``{c{{Cj{e}}}{}{}}0000000`{{{h{c}}}Gf{}}0006666`````````{{{h{{Gl{c}}}}}{{h{{Jh{{Dn{cHh}}}}}}}{}}{{{h{{Gl{c}}}}}{{`{{Jl{}{{Gn{{Dn{Hj{h{Hl}}}}}}}}}}}{}}{{{h{{Hf{c}}}}}{{`{{Jl{}{{Gn{Bn}}}}}}}f}``{{{h{A`{Hf{c}}}}{Hf{c}}}AdAh}{{{h{A`{Gl{c}}}}{Hf{c}}}Ad{BdAh}}{{{h{A`{Gl{c}}}}{Gl{c}}}{{Hf{c}}}{BdAh}}{{{h{{Gl{c}}}}}{{h{{Gl{c}}}}}{}}{{{h{{Gl{c}}}}{h{e}}jik}bf{{Fb{}{{F`{Lj}}}}}Bd{{H`{}{{Gn{{Dn{gHj}}}}}}}{{Lf{{h{g}}{h{Ih}}}{{Ll{Db}}}}}}{{{h{A`{Gl{c}}}}e}{{Hf{c}}}{BdAh}{{H`{}{{Gn{{Dn{HbD`}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{A`c}}}{{h{A`e}}}{}{}}000000{{{h{{Gl{c}}}}{h{Hb}}}{{Cj{GdLn}}}{}}`{c{{C`{Jd}}}{}}{c{{C`{Gd}}}{}}01{{{h{{Gl{c}}}}}{{Gl{c}}}Bd}{{{h{{M`{ce}}}}}{{M`{ce}}}BdBd}{{{h{{Mb{ce}}}}}{{Mb{ce}}}BdBd}{{{h{{Hf{c}}}}}{{Hf{c}}}Bd}{{{h{c}}{h{A`e}}}Ad{}{}}000{{{h{{M`{ce}}}}{h{{M`{ce}}}}}BlAhAh}{{{h{{Mb{ce}}}}{h{{Mb{ce}}}}}BlAhAh}{{}{{Gl{c}}}{}}{{}{{Hf{c}}}{}}{{{h{{M`{ce}}}}}{{h{g}}}{}{}{}}{c{{Cj{{Hf{e}}}}}Cl{AhCn}}{{{h{{Gl{c}}}}{h{Hb}}}{{`{{Jl{}{{Gn{{Dn{EhHh}}}}}}}}}{}}{{{h{{Gl{c}}}}{h{{Gl{c}}}}}DbDd}{{{h{{M`{ce}}}}{h{{M`{ce}}}}}DbDdDd}{{{h{{Mb{ce}}}}{h{{Mb{ce}}}}}DbDdDd}{{{h{Ln}}{h{Ln}}}Db}{{{h{{Hf{c}}}}{h{{Hf{c}}}}}DbDd}{{{h{{Gl{c}}}}{h{e}}ji}{{`{{Jl{}{{Gn{{Dn{g{Bh{c}}}}}}}}}}}f{{Fb{}{{F`{Lj}}}}}Bd{{H`{}{{Gn{{Dn{gHj}}}}}}}}0{{{h{{Gl{c}}}}}{{`{{Jl{}{{Gn{{Dn{Hj{h{Hl}}}}}}}}}}}{}}{{{h{{Gl{c}}}}{h{A`Df}}}DhDj}{{{h{{M`{ce}}}}{h{A`Df}}}DhDjDj}{{{h{{Mb{ce}}}}{h{A`Df}}}DhDjDj}{{{h{Ln}}{h{A`Df}}}Dh}0{{{h{{Hf{c}}}}{h{A`Df}}}DhDj}{cc{}}000000{{{h{{Gl{c}}}}}{{`{{Jl{}{{Gn{{M`{{Md{Hb}}c}}}}}}}}}{}}{{{h{{Gl{c}}}}{h{e}}jHh}{{C`{{Bb{{h{c}}}}}}}f{{Fb{}{{F`{Lj}}}}}}{{{h{{Gl{c}}}}{h{e}}jHj}{{C`{{Dn{{Bb{{h{c}}}}Hh}}}}}f{{Fb{}{{F`{Lj}}}}}}{{{h{{Gl{c}}}}Hh}{{C`{{Md{Hb}}}}}{}}{{{h{{Gl{c}}}}Hh}{{C`{{M`{{Md{Hb}}c}}}}}{}}{{{h{{Gl{c}}}}Hj}{{C`{{h{Hl}}}}}{}}{{{h{{Gl{c}}}}}{{Hf{c}}}{BdAh}}{{{h{A`{Gl{c}}}}Hhc}{{Hf{c}}}{BdAh}}{{{h{A`{Gl{c}}}}HhD`}{{Hf{c}}}{BdAh}}{{{h{A`{Gl{c}}}}e}{{Hf{c}}}{BdAh}{{Mf{{Md{Hb}}}}}}{{{h{A`{Gl{c}}}}HjHl}{{Hf{c}}}{BdAh}}{ce{}{}}00000000{{{h{{Gl{c}}}}}Db{}}{{{h{{Hf{c}}}}}DbAh}``{{{h{{Gl{c}}}}{h{e}}j}{{`{{Jl{}{{Gn{{Mb{{Md{Hb}}c}}}}}}}}}fFb}{{{Gl{c}}g}{{Gl{e}}}{BdAh}{BdAh}{{Lf{c}{{Ll{e}}}}}}{{{Hf{c}}g}{{Hf{e}}}AhAh{{Lf{c}{{Ll{e}}}}}}{c{{Gl{e}}}{{H`{}{{Gn{Hb}}}}}{BdAh}}{{{h{A`{Mh{cg}}}}}{{C`{i}}}{}{}{{Lf{Eh{Md{Hb}}}{{Ll{{C`{e}}}}}}}{}}{{{h{A`{Mj{cg}}}}}{{C`{i}}}{}{}{{Lf{EhHh}{{Ll{{C`{e}}}}}}}{}}{{{h{{Gl{c}}}}Hj}{{h{{Ml{Hh}}}}}{}}{{{h{{M`{ce}}}}{h{{M`{ce}}}}}{{C`{Bl}}}FlFl}{{{h{{Mb{ce}}}}{h{{Mb{ce}}}}}{{C`{Bl}}}FlFl}{{{h{{Hf{c}}}}e}Cj{AhG`}Fn}{{{h{c}}}e{}{}}000{{{h{c}}}Gb{}}{{{h{{Gl{c}}}}{h{e}}jik}{{Cj{b}}}fFbBd{{H`{}{{Gn{{Dn{gHj}}}}}}}{{Lf{{h{g}}{h{Ih}}}{{Ll{Db}}}}}}{{{h{{Gl{c}}}}{h{e}}ji}{{`{{Jl{}{{Gn{{Cj{{Dn{g{Bh{c}}}}}}}}}}}}}fFbBd{{H`{}{{Gn{{Dn{gHj}}}}}}}}0{c{{Cj{e}}}{}{}}000000{{{h{{Gl{c}}}}{h{e}}jHh}{{Cj{{C`{{Bb{{h{c}}}}}}}}}fFb}{{{h{{Gl{c}}}}{h{e}}jHj}{{Cj{{C`{{Dn{{Bb{{h{c}}}}Hh}}}}}}}fFb}2222222{{{h{{Gl{c}}}}{h{e}}j}{{`{{Jl{}{{Gn{{Cj{{Mb{{Md{Hb}}c}}}}}}}}}}}fFb}``{{{h{{Gl{c}}}}Hh}{{C`{{Ib{Bn{h{Hl}}}}}}}{}}{{{h{{Gl{c}}}}Hh}{{`{{In{}{{Gn{{Dn{Bn{h{{Ml{Hh}}}}}}}}}}}}}{}}`{{{h{{Hf{c}}}}}{{`{{Jl{}{{Gn{{Dn{Hj{h{Hl}}}}}}}}}}}{}}``{{{h{{Gl{c}}}}}{{`{{Jl{}{{Gn{{M`{{Md{Hb}}c}}}}}}}}}{}}{{{h{c}}}Gf{}}000000{{{h{A`{Gl{c}}}}D`}{{Hf{c}}}{BdAh}}{ce{}{}}000000{{{h{{Gl{c}}}}ei}{{Mh{ci}}}{BdAh}{{Mf{{Md{Hb}}}}}{}{{Lf{Eh{Md{Hb}}}{{Ll{{C`{g}}}}}}}}{{{h{{Gl{c}}}}{h{Hb}}g}{{Mj{cg}}}{}{}{{Lf{EhHh}{{Ll{{C`{e}}}}}}}}{{{h{{Gl{c}}}}Hhg}{{Mj{cg}}}{BdAh}{}{{Lf{EhHh}{{Ll{{C`{e}}}}}}}}","D":"C@`","p":[[5,"Balance",0,870],[5,"DescriptorId",0,871],[10,"Anchor",0,872],[1,"reference"],[5,"BlockId",0,873],[5,"ConfirmationHeightAnchor",0,873],[5,"ConfirmationTimeHeightAnchor",0,873],[0,"mut"],[10,"Append",0,872],[1,"unit"],[5,"CombinedChangeSet",0,874],[10,"Ord",875],[5,"Hash",876],[1,"u8"],[1,"slice"],[1,"array"],[6,"ChainPosition",0,873],[10,"Clone",877],[6,"ConfirmationTime",0,873],[5,"FullTxOut",0,873],[5,"SpkIterator",0,878],[6,"Ordering",875],[1,"u32"],[6,"Option",879],[6,"DescriptorPublicKey",880],[6,"Descriptor",881],[10,"Borrow",882],[10,"DescriptorExt",0,871],[6,"Result",883],[10,"Deserializer",884],[10,"Deserialize",884],[1,"u64"],[1,"bool"],[10,"PartialEq",875],[5,"Formatter",885],[8,"Result",885],[10,"Debug",885],[5,"BlockHash",886],[1,"tuple"],[5,"ChangeSet",350],[5,"ChangeSet",291],[8,"ChangeSet",502],[5,"Block",886],[1,"usize"],[10,"AnchorFromBlockPosition",0,872],[5,"FromSliceError",887],[1,"str"],[17,"Error"],[10,"ChainOracle",0,888],[10,"Hash",889],[10,"Hasher",889],[10,"SliceIndex",890],[10,"RangeBounds",891],[10,"PartialOrd",875],[10,"Serializer",892],[10,"Serialize",892],[5,"String",893],[5,"Amount",894],[5,"TypeId",895],[5,"IndexedTxGraph",291],[10,"Indexer",341],[5,"TxGraph",708],[17,"Item"],[10,"IntoIterator",896],[5,"Transaction",897],[10,"Default",898],[5,"ChangeSet",708],[5,"Txid",897],[5,"OutPoint",897],[5,"TxOut",897],[17,"ChangeSet"],[5,"KeychainTxOutIndex",350],[5,"BTreeMap",899],[6,"InsertDescriptorError",350],[5,"NoSuchKeychain",350],[5,"Script",900],[5,"SpkTxOutIndex",465],[8,"Indexed",0],[10,"DoubleEndedIterator",901],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",902],[5,"SignedAmount",894],[5,"ScriptBuf",903],[5,"BTreeSet",904],[5,"Vec",905],[10,"Iterator",906],[5,"LocalChain",502],[5,"MissingGenesisError",502],[5,"Header",886],[5,"CannotConnectError",502],[6,"ApplyHeaderError",502],[5,"CheckPoint",502],[5,"AlterCheckPointError",502],[5,"CheckPointIter",502],[5,"SyncRequest",644],[10,"Send",907],[17,"IntoIter"],[5,"FullScanRequest",644],[10,"FnMut",908],[10,"Sync",907],[6,"Infallible",909],[17,"Output"],[6,"CalculateFeeError",708],[5,"TxNode",708],[5,"CanonicalTx",708],[5,"Arc",910],[10,"Into",909],[5,"TxAncestors",708],[5,"TxDescendants",708],[5,"HashSet",911],[15,"Confirmed",288],[15,"Unconfirmed",288],[15,"DescriptorAlreadyAssigned",461],[15,"KeychainAlreadyAssigned",461],[5,"SyncResult",644],[5,"FullScanResult",644]],"r":[[0,872],[1,872],[2,872],[3,878],[4,870],[5,873],[7,888],[8,873],[9,874],[10,873],[11,873],[12,873],[15,871],[16,871],[18,873],[20,291],[21,341],[23,878],[24,708]],"b":[[39,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[40,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[127,"impl-Display-for-Balance"],[128,"impl-Debug-for-Balance"],[135,"impl-UpperHex-for-DescriptorId"],[136,"impl-Debug-for-DescriptorId"],[137,"impl-LowerHex-for-DescriptorId"],[138,"impl-Display-for-DescriptorId"],[144,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[145,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[153,"impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[155,"impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[156,"impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[315,"impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E"],[316,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[359,"impl-KeychainTxOutIndex%3CK%3E"],[360,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[384,"impl-Display-for-InsertDescriptorError%3CK%3E"],[385,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[387,"impl-Debug-for-NoSuchKeychain%3CK%3E"],[388,"impl-Display-for-NoSuchKeychain%3CK%3E"],[553,"impl-Debug-for-MissingGenesisError"],[554,"impl-Display-for-MissingGenesisError"],[555,"impl-Debug-for-AlterCheckPointError"],[556,"impl-Display-for-AlterCheckPointError"],[557,"impl-Display-for-CannotConnectError"],[558,"impl-Debug-for-CannotConnectError"],[559,"impl-Display-for-ApplyHeaderError"],[560,"impl-Debug-for-ApplyHeaderError"],[774,"impl-Display-for-CalculateFeeError"],[775,"impl-Debug-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOYBTAAVAAEAGQAAABwAAQAfAAIAJQABACgAFwBCABMAVwAGAGMAAQBnAAQAbgAGAHYAFgCPAAAAkQABAJgAAACaAAAAnAABAJ8ABAClAAIAqQAFALIAAADAAAAAxgAAAMoAAADOAAEA0QAOAOQACgDwAAEA9QATAAsBCQAXAQkAJgEAACsBAAAvAQsAPAEBAEoBAABMAQkAaQEcAIwBAgCWAQAArwEAALEBDQDCAQMAygEDANQBBgDdAQIA4wEAAO0BAgDzAQAA9gEAAAYCGQAhAgUAKAIJAEICAABQAgIAVgIAAF0CEABvAg0AfgIGAIkCBwC0AgcAvQIHANMCAADWAgAA2QINAOkCEQD8AgQABAMFACMDAQAmAwAALQMBADADBwA7AwYARAMGAFUDBgBdAwYA"}],\
["bdk_coin_select",{"t":"FFGGFFPIPFGPPPFGFPPSPPPPPFNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNNNONONNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNOOOONNNNONOOOOONNNNONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOON","n":["Bnb","BnbIter","BnbLimit","BranchStrategy","CoinSelector","CoinSelectorOpt","Continue","DecideStrategy","Duration","ExcessStrategy","ExcessStrategyKind","MinAbsoluteFee","MinDrainValue","Rounds","Selection","SelectionConstraint","SelectionError","SkipBoth","SkipInclusion","TXIN_BASE_WEIGHT","TargetFee","TargetValue","ToDrain","ToFee","ToRecipient","WeightedValue","advertise_new_score","all_selected","apply_selection","backtrack","base_weight","best_score","best_strategy","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","candidate","candidates","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_select_bnb","current_excess","current_weight","deselect","drain_value","drain_waste","drain_weight","effective_target","effective_value","eq","eq","excess","excess_strategies","fee","feerate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fund_outputs","hash","input_count","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_segwit","is_selected","long_term_feerate","long_term_feerate","max_extra_target","min_absolute_fee","min_drain_value","new","new","new","next","opts","partial_cmp","pool","pool_pos","recipient_value","rem_abs","rem_eff","select","select_all","select_until_finished","selected","selected","selected_absolute_value","selected_count","selected_effective_value","selected_indexes","selected_waste","selected_weight","selection","spend_drain_weight","target_feerate","target_value","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unselected","unselected_indexes","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waste","weight","weight","will_continue"],"q":[[0,"bdk_coin_select"],[235,"bdk_coin_select::bnb"],[236,"core::cmp"],[237,"bdk_coin_select::coin_selector"],[238,"core::iter::traits::iterator"],[239,"core::option"],[240,"core::convert"],[241,"core::result"],[242,"core::fmt"],[243,"core::time"],[244,"bitcoin::blockdata::transaction"],[245,"core::hash"],[246,"alloc::vec"],[247,"core::marker"],[248,"alloc::string"],[249,"core::any"]],"i":[0,0,0,0,0,0,41,0,22,0,0,18,18,22,0,0,0,41,41,0,18,18,11,11,11,0,2,6,7,2,16,2,7,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,6,6,15,16,6,17,18,7,11,12,15,16,6,17,18,7,11,12,11,0,6,6,6,12,16,16,6,15,18,11,7,7,12,12,6,15,16,6,17,17,18,18,7,11,11,12,2,41,2,34,22,22,22,15,16,6,17,18,7,11,12,16,11,15,41,2,34,22,15,16,6,17,18,7,11,12,2,34,6,15,6,16,16,16,16,16,2,15,6,34,6,11,2,2,12,2,2,6,6,6,6,7,6,6,6,6,6,6,2,16,16,16,15,16,6,17,18,7,11,12,17,18,11,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,6,6,15,41,2,34,22,15,16,6,17,18,7,11,12,12,15,12,41],"f":"``````````````````````````{{{f{b{d{c}}}}c}hj}{{{f{l}}}h}{{{f{n}}{f{{A`{c}}}}}{{`{{Ad{}{{Ab{{f{c}}}}}}}}}{}}{{{f{b{d{c}}}}}hj}``{{{f{n}}}{{Aj{{f{Af}}{f{Ah}}}}}}{{{f{c}}}{{f{e}}}{}{}}00000000000{{{f{bc}}}{{f{be}}}{}{}}00000000000{{{f{l}}Al}{{f{An}}}}`{{{f{An}}}An}{{{f{B`}}}B`}{{{f{l}}}l}{{{f{Bb}}}Bb}{{{f{Bd}}}Bd}{{{f{n}}}n}{{{f{Af}}}Af}{{{f{Ah}}}Ah}{{{f{c}}{f{be}}}Bf{}{}}0000000{{{f{Af}}{f{Af}}}Bh}{{cl}{{Bj{l}}}{{Bn{Bl}}}}{{{f{l}}}C`}{{{f{l}}}Cb}{{{f{bl}}Al}h}`{{{f{B`}}}C`}`3{{{f{An}}Cd}C`}{{{f{Bd}}{f{Bd}}}h}{{{f{Af}}{f{Af}}}h}```{{{f{Ah}}}Cd}{{{f{l}}}{{Cf{nBb}}}}{{{f{An}}{f{bCh}}}Cj}{{{f{B`}}{f{bCh}}}Cj}{{{f{l}}{f{bCh}}}Cj}{{{f{Bb}}{f{bCh}}}Cj}0{{{f{Bd}}{f{bCh}}}Cj}0{{{f{n}}{f{bCh}}}Cj}{{{f{Af}}{f{bCh}}}Cj}0{{{f{Ah}}{f{bCh}}}Cj}{{{f{b{d{c}}}}h}Bfj}{cc{}}00{ClBl}1{AlBl}22222222{{{f{{A`{Cn}}}}{f{Cn}}Cb}B`}{{{f{Af}}{f{bc}}}BfD`}`{ce{}{}}00000000000{{{d{c}}{f{{Db{c}}}}}{{Dd{c}}}j}1{{{f{l}}}h}`{{{f{l}}Al}h}{{{f{B`}}}Cd}````{{l{Df{{Aj{Al{f{An}}}}}}c}{{d{c}}}j}{{DhCbh}An}{{{f{{Df{An}}}}{f{B`}}}l}{{{f{b{Dd{c}}}}}{{Bj{e}}}{jDjDl}{}}`{{{f{Af}}{f{Af}}}{{Bj{Bh}}}}`````{{{f{bl}}Al}h}{{{f{bl}}}Bf}{{{f{bl}}}{{Cf{nBb}}}}{{{f{l}}}{{`{{Ad{}{{Ab{{Aj{Al{f{An}}}}}}}}}}}}`{{{f{l}}}Dh}{{{f{l}}}Al}{{{f{l}}}C`}{{{f{l}}}{{`{{Ad{}{{Ab{Al}}}}}}}}1{{{f{l}}}Cb}````{{{f{c}}}e{}{}}0000000{{{f{c}}}Dn{}}00{c{{Cf{e}}}{}{}}00000000000000000000000{{{f{c}}}E`{}}0000000000095`{ce{}{}}00000000000```{{{f{Eb}}}h}","D":"Hh","p":[[0,"mut"],[5,"Bnb",0,235],[1,"reference"],[1,"bool"],[10,"Ord",236],[5,"CoinSelector",0,237],[5,"Selection",0,237],[1,"slice"],[17,"Item"],[10,"Iterator",238],[6,"ExcessStrategyKind",0,237],[5,"ExcessStrategy",0,237],[1,"tuple"],[1,"usize"],[5,"WeightedValue",0,237],[5,"CoinSelectorOpt",0,237],[5,"SelectionError",0,237],[6,"SelectionConstraint",0,237],[1,"unit"],[6,"Ordering",236],[6,"Option",239],[6,"BnbLimit",0,235],[10,"Into",240],[1,"i64"],[1,"u32"],[1,"f32"],[6,"Result",241],[5,"Formatter",242],[8,"Result",242],[5,"Duration",243],[5,"TxOut",244],[10,"Hasher",245],[8,"DecideStrategy",0,235],[5,"BnbIter",0,235],[5,"Vec",246],[1,"u64"],[10,"Copy",247],[10,"Display",242],[5,"String",248],[5,"TypeId",249],[6,"BranchStrategy",0,235]],"r":[[0,235],[1,235],[2,235],[3,235],[4,237],[5,237],[7,235],[9,237],[10,237],[14,237],[15,237],[16,237],[25,237],[76,235]],"b":[[95,"impl-Display-for-SelectionError"],[96,"impl-Debug-for-SelectionError"],[97,"impl-Debug-for-SelectionConstraint"],[98,"impl-Display-for-SelectionConstraint"],[100,"impl-Display-for-ExcessStrategyKind"],[101,"impl-Debug-for-ExcessStrategyKind"],[107,"impl-From%3CDuration%3E-for-BnbLimit"],[109,"impl-From%3Cusize%3E-for-BnbLimit"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKcAGAAAAAAAAgAAAAYAAAAJAAIADgADABcAAgAcAAEAIAAAACIAKgBQAAIAVgAEAFwACwBsAAAAbgAAAHcAAQCHAAEAigABAJIADQChAAAAowAAAKYAAACqADAA3AAMAOoAAQA="}],\
["bdk_electrum",{"t":"FFFENNNNNNENNNNNNONNNNNNNNNNNNNNNNNNNNNNN","n":["BdkElectrumClient","ElectrumFullScanResult","ElectrumSyncResult","bdk_chain","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","electrum_client","fetch_tx","fmt","from","from","from","full_scan","inner","into","into","into","new","populate_tx_cache","sync","transaction_broadcast","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with_confirmation_height_anchor","with_confirmation_height_anchor","with_confirmation_time_height_anchor","with_confirmation_time_height_anchor"],"q":[[0,"bdk_electrum"],[41,"bdk_electrum::bdk_electrum_client"],[42,"bitcoin::blockdata::transaction"],[43,"alloc::sync"],[44,"electrum_client::types"],[45,"core::result"],[46,"electrum_client::api"],[47,"core::fmt"],[48,"bdk_chain::spk_client"],[49,"core::cmp"],[50,"core::clone"],[51,"bdk_chain::tx_graph"],[52,"core::convert"],[53,"core::any"],[54,"bdk_chain::chain_data"]],"i":[0,0,0,0,16,23,3,16,23,3,0,3,3,16,23,3,3,3,16,23,3,3,3,3,3,16,23,3,16,23,3,16,23,3,16,23,3,16,23,16,23],"f":"````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00`{{{b{{f{c}}}}h}{{A`{{l{j}}n}}}Ab}{{{b{{f{c}}}}{b{dAd}}}AfAh}{cc{}}00{{{b{{f{c}}}}{Aj{e}}AlAlAn}{{A`{{B`{e}}n}}}Ab{BbBd}}`{ce{}{}}00{c{{f{c}}}Ab}{{{b{{f{c}}}}g}BfAb{}{{Bj{{Bh{e}}}}}}{{{b{{f{c}}}}BlAlAn}{{A`{Bnn}}}Ab}{{{b{{f{c}}}}{b{j}}}{{A`{hn}}}Ab}{c{{A`{e}}}{}{}}00000{{{b{c}}}C`{}}00666{{{B`{c}}}{{Cd{cCb}}}{}}{Bn{{Cf{Cb}}}}{{{B`{c}}{b{{f{e}}}}}{{A`{{Cd{cCh}}n}}}{}Ab}{{Bn{b{{f{c}}}}}{{A`{{Cf{Ch}}n}}}Ab}","D":"Bj","p":[[1,"reference"],[0,"mut"],[5,"BdkElectrumClient",0,41],[5,"Txid",42],[5,"Transaction",42],[5,"Arc",43],[6,"Error",44],[6,"Result",45],[10,"ElectrumApi",46],[5,"Formatter",47],[8,"Result",47],[10,"Debug",47],[5,"FullScanRequest",48],[1,"usize"],[1,"bool"],[5,"ElectrumFullScanResult",0,41],[10,"Ord",49],[10,"Clone",50],[1,"unit"],[5,"TxGraph",51],[10,"AsRef",52],[5,"SyncRequest",48],[5,"ElectrumSyncResult",0,41],[5,"TypeId",53],[5,"ConfirmationHeightAnchor",54],[5,"FullScanResult",48],[5,"SyncResult",48],[5,"ConfirmationTimeHeightAnchor",54]],"r":[[0,41],[1,41],[2,41]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABQAAwAEAAcADQAAABoACwA="}],\
["bdk_esplora",{"t":"IKKEMMMM","n":["Error","EsploraAsyncExt","EsploraExt","esplora_client","full_scan","full_scan","sync","sync"],"q":[[0,"bdk_esplora"],[8,"bdk_esplora::blocking_ext"],[9,"bdk_chain::spk_client"],[10,"core::result"],[11,"core::cmp"],[12,"core::clone"],[13,"bdk_esplora::async_ext"],[14,"core::future::future"],[15,"alloc::boxed"],[16,"core::pin"],[17,"core::marker"]],"i":[0,0,0,0,1,10,1,10],"f":"````{{{d{b}}{f{c}}hh}{{n{{j{c}}l}}}{A`Ab}}{{{d{Ad}}{f{c}}hh}{{Aj{{Ah{Af}}}}}{A`AbAl}}{{{d{b}}Anh}{{n{B`l}}}}{{{d{Ad}}Anh}{{Aj{{Ah{Af}}}}}}","D":"A`","p":[[10,"EsploraExt",0,8],[1,"reference"],[5,"FullScanRequest",9],[1,"usize"],[5,"FullScanResult",9],[8,"Error",0,8],[6,"Result",10],[10,"Ord",11],[10,"Clone",12],[10,"EsploraAsyncExt",0,13],[10,"Future",14],[5,"Box",15],[5,"Pin",16],[10,"Send",17],[5,"SyncRequest",9],[5,"SyncResult",9]],"r":[[0,8],[1,13],[2,8]],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAQA"}],\
["bdk_sqlite",{"t":"GPPFNNNNNNNNNNNNNENNNNNNNNNNOO","n":["Error","Network","Sqlite","Store","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","fmt","from","from","into","into","new","read","rusqlite","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write","expected","given"],"q":[[0,"bdk_sqlite"],[28,"bdk_sqlite::Error"],[30,"bdk_sqlite::store"],[31,"core::fmt"],[32,"rusqlite"],[33,"rusqlite::error"],[34,"core::result"],[35,"core::cmp"],[36,"serde::de"],[37,"serde::ser"],[38,"core::marker"],[39,"bdk_chain::tx_data_traits"],[40,"bdk_chain::changeset"],[41,"core::option"],[42,"alloc::string"],[43,"core::any"]],"i":[0,6,6,0,3,6,3,6,3,6,6,3,6,3,6,3,3,0,6,3,6,3,6,3,6,3,6,3,20,20],"f":"````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{f{ce}}}}{b{dh}}}j{}{}}{{{b{l}}{b{dh}}}j}0{cc{}}0{ce{}{}}0{n{{Ab{{f{ce}}A`}}}{AdAfAhAj}{AlAfAhAj}}{{{b{d{f{ce}}}}}{{Ab{{B`{{An{ce}}}}l}}}{AdAfAhAj}{AlAfAhAj}}`{{{b{c}}}Bb{}}{c{{Ab{e}}}{}{}}000{{{b{c}}}Bd{}}055{{{b{d{f{ce}}}}{b{{An{ce}}}}}{{Ab{Bfl}}}{AdAfAhAj}{AlAfAhAj}}``","D":"Ah","p":[[1,"reference"],[0,"mut"],[5,"Store",0,30],[5,"Formatter",31],[8,"Result",31],[6,"Error",0],[5,"Connection",32],[6,"Error",33],[6,"Result",34],[10,"Ord",35],[10,"Deserialize",36],[10,"Serialize",37],[10,"Send",38],[10,"Anchor",39],[5,"CombinedChangeSet",40],[6,"Option",41],[5,"String",42],[5,"TypeId",43],[1,"unit"],[15,"Network",28]],"r":[[3,30]],"b":[[9,"impl-Debug-for-Error"],[10,"impl-Display-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABIAAwAFAAYAEgAJAB0AAQA="}],\
["bdk_testenv",{"t":"FEEEONNEOENNNNNNNNNNNNNNNNNNN","n":["TestEnv","anyhow","bitcoincore_rpc","bitcoind","bitcoind","borrow","borrow_mut","electrsd","electrsd","electrum_client","electrum_client","from","genesis_hash","into","invalidate_blocks","make_checkpoint_tip","mine_blocks","mine_empty_block","new","reorg","reorg_empty_blocks","reset_electrsd","rpc_client","send","try_from","try_into","type_id","vzip","wait_until_electrum_sees_block"],"q":[[0,"bdk_testenv"],[29,"electrum_client::api"],[30,"bitcoin::blockdata::block"],[31,"anyhow"],[32,"bdk_chain::local_chain"],[33,"bitcoin::address"],[34,"core::option"],[35,"alloc::vec"],[36,"bitcoincore_rpc::client"],[37,"bitcoin_units::amount"],[38,"bitcoin::blockdata::transaction"],[39,"core::result"],[40,"core::any"]],"i":[0,0,0,0,3,3,3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}```{{{b{f}}}{{b{{`{h}}}}}}{cc{}}{{{b{f}}}{{l{j}}}}{ce{}{}}{{{b{f}}n}{{l{A`}}}}{{{b{f}}}Ab}{{{b{f}}n{Af{Ad}}}{{l{{Ah{j}}}}}}{{{b{f}}}{{l{{Aj{nj}}}}}}{{}{{l{f}}}}{{{b{f}}n}{{l{{Ah{j}}}}}}{{{b{f}}n}{{l{{Ah{{Aj{nj}}}}}}}}{f{{l{f}}}}{{{b{f}}}{{b{{`{Al}}}}}}{{{b{f}}{b{{Ad{An}}}}B`}{{l{Bb}}}}{c{{Bd{e}}}{}{}}0{{{b{c}}}Bf{}}<{{{b{f}}}{{l{A`}}}}","D":"An","p":[[1,"reference"],[0,"mut"],[5,"TestEnv",0],[10,"ElectrumApi",29],[5,"BlockHash",30],[8,"Result",31],[1,"usize"],[1,"unit"],[5,"CheckPoint",32],[5,"Address",33],[6,"Option",34],[5,"Vec",35],[1,"tuple"],[10,"RpcApi",36],[6,"NetworkChecked",33],[5,"Amount",37],[5,"Txid",38],[6,"Result",39],[5,"TypeId",40]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA4ABAAAAAAAAgAIABYAAAAZAAMA"}],\
["bdk_tmp_plan",{"t":"FKPPPPFFGGFFPPPGPPONNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOONHNNNNOOOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOOOOOOOO","n":["Assets","CanDerive","Complete","DerivationError","Incomplete","Legacy","Plan","PlanKey","PlanState","RequiredSignatures","Requirements","SatisfactionMaterial","Segwitv0","SigHashP2wpkh","SigHashTaproot","SigningError","TapKey","TapScript","asset_key","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_derive","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","derivation_hint","descriptor_key","ecdsa_sigs","expected_weight","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash160","hash160_images","hash160_preimages","hash256","hash256_images","hash256_preimages","into","into","into","into","into","into","into","into","keys","max_locktime","min_version","plan_satisfaction","required_locktime","required_sequence","requirements","requires_hash_preimages","ripemd160","ripemd160_images","ripemd160_preimages","schnorr_sigs","sha256","sha256_images","sha256_preimages","sign_with_keymap","signatures","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_complete","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","txo_age","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness_version","final_script_sig","final_script_witness","keys","keys","leaf_hash","merkle_root","plan_key","plan_keys"],"q":[[0,"bdk_tmp_plan"],[151,"bdk_tmp_plan::PlanState"],[153,"bdk_tmp_plan::RequiredSignatures"],[159,"miniscript::descriptor::key"],[160,"bitcoin::bip32"],[161,"core::option"],[162,"bdk_tmp_plan::requirements"],[163,"core::clone"],[164,"bdk_tmp_plan::template"],[165,"core::fmt"],[166,"bitcoin::crypto::sighash"],[167,"miniscript::descriptor"],[168,"bitcoin::blockdata::locktime::absolute"],[169,"bitcoin::blockdata::transaction"],[170,"secp256k1"],[171,"core::result"],[172,"core::borrow"],[173,"secp256k1::context"],[174,"alloc::string"],[175,"core::any"],[176,"bitcoin::blockdata::script::witness_version"]],"i":[0,0,42,10,42,9,0,0,0,0,0,0,9,10,10,0,9,9,11,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,3,7,9,10,11,12,13,14,7,9,10,11,12,13,14,7,9,13,14,11,11,13,12,7,9,10,10,11,12,13,14,42,7,9,10,10,10,10,11,12,13,14,14,7,13,14,7,13,42,7,9,10,11,12,13,14,14,14,12,0,12,12,12,7,14,7,13,13,14,7,13,9,7,7,9,10,11,12,13,14,10,12,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,14,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,12,45,45,46,47,48,49,49,48],"f":"```````````````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{f}}{b{h}}}{{l{j}}}}{{{b{{n{c}}}}}{{n{c}}}A`}{{{b{{Ab{c}}}}}{{Ab{c}}}A`}{{{b{Ad}}}Ad}{{{b{{Af{c}}}}}{{Af{c}}}A`}{{{b{{Ah{c}}}}}{{Ah{c}}}A`}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}A`}{{{b{c}}{b{de}}}An{}{}}000000{{}{{n{c}}}{}}{{}{{Ab{c}}}{}}{{}Aj}{{}{{Al{c}}}{}}```{{{b{{Ah{c}}}}}B`A`}{{{b{{n{c}}}}{b{dBb}}}BdBf}{{{b{{Ab{c}}}}{b{dBb}}}BdBf}{{{b{Ad}}{b{dBb}}}Bd}0{{{b{{Af{c}}}}{b{dBb}}}BdBf}{{{b{{Ah{c}}}}{b{dBb}}}BdBf}{{{b{Aj}}{b{dBb}}}Bd}{{{b{{Al{c}}}}{b{dBb}}}BdBf}{cc{}}000{BhAd}{BjAd}{BlAd}3333``````{ce{}{}}0000000``{{{b{{Ah{c}}}}}{{l{Bn}}}A`}{{{b{{C`{h}}}}{b{{Al{c}}}}}{{l{{Ah{c}}}}}{fA`}}{{{b{{Ah{c}}}}}{{l{Cb}}}A`}{{{b{{Ah{c}}}}}{{l{Cd}}}A`}{{{b{{Ah{c}}}}}{{n{c}}}A`}{{{b{{n{c}}}}}Cf{}}```````{{{b{{Ab{Ch}}}}B`{b{Cj}}{b{{Cl{c}}}}{l{Cn}}{l{D`}}{b{d{Db{e}}}}{b{dAj}}{b{{Dd{g}}}}}{{Df{CfAd}}}{{Dj{Dh}}}{{Dj{Dl}}}{DnE`}}`{{{b{c}}}e{}{}}000000{{{b{c}}}Eb{}}{{{b{{Ah{c}}}}{b{Aj}}}{{Ed{c}}}A`}{c{{Df{e}}}{}{}}000000000000000`{{{b{c}}}Ef{}}0000000<<<<<<<<{{{b{{Ah{c}}}}}{{l{Eh}}}A`}````````","D":"Fl","p":[[1,"reference"],[0,"mut"],[10,"CanDerive",0],[5,"DefiniteDescriptorKey",159],[5,"DerivationPath",160],[6,"Option",161],[5,"Requirements",0,162],[10,"Clone",163],[6,"RequiredSignatures",0,162],[6,"SigningError",0,162],[5,"PlanKey",0,164],[5,"Plan",0],[5,"SatisfactionMaterial",0],[5,"Assets",0],[1,"unit"],[1,"usize"],[5,"Formatter",165],[8,"Result",165],[10,"Debug",165],[6,"P2wpkhError",166],[6,"Error",160],[6,"TaprootError",166],[1,"u32"],[6,"Descriptor",167],[6,"LockTime",168],[5,"Sequence",169],[1,"bool"],[6,"DescriptorPublicKey",159],[8,"KeyMap",167],[6,"Prevouts",166],[6,"TapSighashType",166],[6,"EcdsaSighashType",166],[5,"SighashCache",166],[5,"Secp256k1",170],[6,"Result",171],[5,"TxOut",169],[10,"Borrow",172],[5,"Transaction",169],[10,"Signing",173],[10,"Verification",173],[5,"String",174],[6,"PlanState",0],[5,"TypeId",175],[6,"WitnessVersion",176],[15,"Complete",151],[15,"Legacy",153],[15,"Segwitv0",153],[15,"TapScript",153],[15,"TapKey",153]],"r":[[7,164],[9,162],[10,162],[15,162]],"b":[[60,"impl-Display-for-SigningError"],[61,"impl-Debug-for-SigningError"],[70,"impl-From%3CP2wpkhError%3E-for-SigningError"],[71,"impl-From%3CError%3E-for-SigningError"],[72,"impl-From%3CTaprootError%3E-for-SigningError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGkAEAABAAEABAABAA4AAgAUACIAOwAHAEcAAgBOAAAAUQAAAFwAAQBfAAAAYgAAAGQAAABoAAAAawAAAG0AKQCaAAEA"}],\
-["bdk_wallet",{"t":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPKGPPPPPPGGPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNHOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["External","Foreign","HdKeyPaths","Internal","KeychainKind","Local","LocalOutput","SignOptions","TxBuilder","Utxo","Wallet","WeightedUtxo","as_byte","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fragment","from","from","from","from","hash","hash","into","into","into","into","is_spent","keychain","keys","miniscript","outpoint","outpoint","partial_cmp","psbt","satisfaction_weight","sequence","serialize","serialize","signer","template","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txout","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","wallet","outpoint","psbt_input","sequence","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","calc_checksum_bytes","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeSet","Descriptor","Descriptor","Descriptor","IsDust","LoadError","LoadedDescriptorDoesNotMatch","LoadedGenesisDoesNotMatch","LoadedNetworkDoesNotMatch","MissingDescriptor","MissingGenesis","MissingNetwork","NewError","NewOrLoadError","UnexpectedConnectedToHash","Update","Wallet","add","add_signer","address","all_unbounded_spk_iters","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_ref","balance","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","checkpoints","clone","clone","clone_into","clone_into","coin_selection","confirmed","default","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","error","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","get_descriptor_for_keychain","get_psbt_input","get_signers","get_tx","get_utxo","graph","immature","index","indexed_tx_graph","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load_from_changeset","local_chain","mark_used","network","network","new","new_or_load","new_or_load_with_genesis_hash","new_with_genesis_hash","next_derivation_index","next_unused_address","peek_address","policies","public_descriptor","reveal_addresses_to","reveal_next_address","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","staged","start_full_scan","start_sync_with_revealed_spks","take_staged","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","connected_to_hash","expected_hash","expected","expected","got","got","got","keychain","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[97,"bdk_wallet::Utxo"],[100,"bdk_wallet::descriptor"],[352,"bdk_wallet::descriptor::checksum"],[354,"bdk_wallet::descriptor::error"],[386,"bdk_wallet::descriptor::policy"],[533,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[536,"bdk_wallet::descriptor::policy::Satisfaction"],[547,"bdk_wallet::descriptor::policy::SatisfiableItem"],[557,"bdk_wallet::descriptor::template"],[693,"bdk_wallet::keys"],[994,"bdk_wallet::psbt"],[998,"bdk_wallet::wallet"],[1201,"bdk_wallet::wallet::ApplyBlockError"],[1203,"bdk_wallet::wallet::NewOrLoadError"],[1209,"bdk_wallet::wallet::coin_selection"],[1301,"bdk_wallet::wallet::coin_selection::Error"],[1303,"bdk_wallet::wallet::coin_selection::Excess"],[1308,"bdk_wallet::wallet::error"],[1379,"bdk_wallet::wallet::error::CreateTxError"],[1385,"bdk_wallet::wallet::export"],[1408,"bdk_wallet::wallet::signer"],[1585,"bdk_wallet::wallet::signer::SignerContext"],[1586,"bdk_wallet::wallet::tx_builder"],[1699,"bdk_wallet::wallet::tx_builder::AddForeignUtxoError"],[1701,"bdk_wallet::wallet::tx_builder::TxOrdering"],[1703,"bdk_wallet::types"],[1704,"core::cmp"],[1705,"core::result"],[1706,"serde::de"],[1707,"core::fmt"],[1708,"core::hash"],[1709,"bitcoin::blockdata::transaction"],[1710,"core::option"],[1711,"serde::ser"],[1712,"core::any"],[1713,"miniscript::descriptor"],[1714,"bitcoin::network"],[1715,"bitcoin::address"],[1716,"miniscript"],[1717,"miniscript::miniscript"],[1718,"miniscript::miniscript::decode"],[1719,"miniscript::miniscript::context"],[1720,"miniscript::iter::tree"],[1721,"miniscript::descriptor::key"],[1722,"alloc::vec"],[1723,"miniscript::miniscript::satisfy"],[1724,"miniscript::plan"],[1725,"bitcoin_hashes::sha256"],[1726,"miniscript::miniscript::hash256"],[1727,"bitcoin_hashes::ripemd160"],[1728,"bitcoin_hashes::hash160"],[1729,"core::clone"],[1730,"secp256k1"],[1731,"bitcoin::crypto::key"],[1732,"secp256k1::context"],[1733,"bdk_chain::descriptor_ext"],[1734,"miniscript::blanket_traits"],[1735,"bitcoin::blockdata::script::owned"],[1736,"miniscript::miniscript::analyzable"],[1737,"secp256k1::context::alloc_only"],[1738,"bitcoin::blockdata::script::borrowed"],[1739,"core::ops::range"],[1740,"core::ops::function"],[1741,"miniscript::descriptor::bare"],[1742,"miniscript::descriptor::segwitv0"],[1743,"miniscript::descriptor::tr"],[1744,"miniscript::descriptor::sh"],[1745,"miniscript::miniscript::types"],[1746,"miniscript::miniscript::types::extra_props"],[1747,"miniscript::expression"],[1748,"miniscript::miniscript::iter"],[1749,"miniscript::policy::semantic"],[1750,"miniscript::policy"],[1751,"bitcoin_units::weight"],[1752,"alloc::collections::btree::map"],[1753,"alloc::string"],[1754,"hex_conservative::error"],[1755,"base58ck::error"],[1756,"bitcoin::bip32"],[1757,"miniscript::descriptor::sortedmulti"],[1758,"core::str::traits"],[1759,"core::convert"],[1760,"core::default"],[1761,"rand_core"],[1762,"bitcoin_units::amount"],[1763,"bitcoin_units::fee_rate"],[1764,"bdk_chain::keychain"],[1765,"alloc::sync"],[1766,"core::iter::traits::iterator"],[1767,"bitcoin::blockdata::block"],[1768,"bdk_chain::local_chain"],[1769,"bdk_chain::chain_data"],[1770,"core::iter::traits::collect"],[1771,"bdk_chain::tx_graph"],[1772,"bitcoin::psbt"],[1773,"bdk_chain::spk_client"],[1774,"bitcoin::psbt::map::input"],[1775,"bdk_wallet::wallet::utils"],[1776,"core::iter::traits::double_ended"],[1777,"bdk_chain::keychain::txout_index"],[1778,"bitcoin::psbt::error"],[1779,"core::marker"],[1780,"bitcoin::blockdata::script::push_bytes::primitive"],[1781,"bitcoin::blockdata::locktime::absolute"]],"i":[1,8,0,1,0,8,0,0,0,0,0,0,1,1,0,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,7,8,1,6,6,0,0,1,6,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,1,6,7,8,6,6,0,0,8,6,1,0,7,8,1,6,0,0,1,6,7,8,1,6,7,8,1,6,7,8,8,6,1,6,7,8,7,0,1,6,7,8,0,248,248,248,94,249,24,0,0,0,0,0,0,31,0,0,33,0,0,35,94,249,24,0,0,0,94,249,24,35,31,0,94,249,24,94,249,24,94,249,24,35,24,54,55,31,31,24,24,54,55,31,24,54,55,31,31,31,31,0,33,54,55,33,55,33,33,54,55,33,54,55,33,33,54,55,33,54,55,33,54,55,0,24,54,55,31,24,54,55,31,24,54,55,31,31,24,24,24,24,24,24,31,24,31,24,54,55,31,0,24,31,31,69,24,31,24,24,24,54,55,31,31,24,31,24,24,24,24,24,24,24,54,55,31,31,31,24,31,31,31,24,31,31,31,24,24,31,31,24,24,54,55,31,24,54,55,31,31,24,93,94,24,24,31,31,31,24,31,31,33,54,55,31,24,31,24,33,54,55,24,24,24,24,24,24,24,24,24,24,24,24,24,24,31,33,31,24,31,31,24,54,55,31,33,54,55,24,24,0,31,24,31,24,31,31,24,24,31,24,31,33,54,55,31,0,24,54,55,31,24,31,24,33,33,24,31,24,54,55,31,24,54,55,31,31,24,54,55,31,24,24,54,55,31,31,0,0,74,74,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,121,115,115,0,122,0,0,121,120,0,121,121,115,115,115,121,122,71,115,122,122,0,0,0,71,71,120,121,121,0,0,121,121,121,120,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,71,120,121,122,73,123,71,73,123,123,120,121,122,73,123,115,120,121,122,73,123,115,115,71,120,121,122,122,73,73,123,115,71,73,120,123,121,73,120,121,122,73,123,115,71,121,122,123,73,123,73,73,120,121,122,73,123,123,120,121,122,73,123,71,115,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,115,71,250,250,250,251,252,253,252,253,252,253,252,253,252,253,254,255,256,257,258,259,259,258,260,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,124,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,125,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,116,0,0,0,0,158,158,0,0,147,0,0,0,0,116,116,116,33,0,0,30,116,116,103,35,158,151,0,151,0,0,30,35,103,0,0,0,0,30,0,147,103,35,0,262,35,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,142,33,33,33,33,33,33,33,33,33,143,30,144,142,35,103,145,146,147,143,30,144,142,35,103,145,146,147,142,35,145,147,144,144,143,35,35,142,30,142,35,103,145,146,147,148,30,144,116,116,142,142,35,35,103,103,145,146,147,142,151,151,151,143,148,30,144,116,116,116,142,35,35,103,145,146,147,148,148,35,103,142,35,35,158,161,161,158,158,161,151,35,142,35,145,147,151,143,148,30,144,116,142,35,103,145,146,147,35,127,133,143,143,148,35,103,133,151,143,143,35,103,151,151,35,262,30,35,103,262,30,262,30,35,35,142,145,146,142,0,35,33,142,142,0,142,33,142,35,145,146,33,148,142,35,145,147,33,142,142,142,142,35,33,142,0,143,30,144,142,35,103,145,146,147,103,116,142,35,103,33,33,142,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,0,168,168,168,0,0,0,202,0,199,200,201,0,0,201,201,201,200,200,200,0,0,202,0,0,171,172,195,172,172,172,172,172,172,172,171,172,185,195,199,200,201,202,171,172,185,195,199,200,201,202,172,172,172,172,172,213,185,172,171,185,171,185,0,171,171,185,195,172,172,172,171,171,195,0,0,172,171,171,172,185,195,195,199,199,200,200,201,201,202,202,171,172,185,185,185,195,199,200,201,202,172,172,172,172,172,185,171,195,213,172,172,172,171,172,185,195,199,200,201,202,210,172,195,172,185,172,172,172,172,172,172,172,172,213,172,172,172,172,172,172,172,172,172,172,172,172,172,171,172,0,172,172,172,172,172,171,185,171,195,199,200,201,202,171,172,171,171,171,172,185,195,199,200,201,202,171,172,185,195,199,200,201,202,0,172,171,172,185,195,199,200,201,202,172,172,172,171,171,172,185,195,199,200,201,202,0,263,263,264,265,264,265,266,266,225,225,0,226,0,0,0,0,0,225,0,226,0,225,226,224,220,221,222,225,226,224,220,221,222,220,221,222,220,221,222,223,220,221,222,0,220,221,222,224,224,225,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,224,222,224,224,220,221,222,225,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,267,267,268,269,269,268,269,0,207,227,0,207,207,192,207,192,207,207,0,207,207,207,207,207,227,207,207,207,207,207,192,192,207,192,227,207,207,227,207,192,227,207,192,227,227,227,227,207,207,192,192,227,207,207,207,207,207,207,192,227,207,192,227,227,207,192,227,207,192,227,207,192,227,207,192,227,207,192,270,270,271,271,272,273,0,0,274,229,229,229,229,229,229,229,229,229,229,229,229,274,229,229,229,229,229,229,229,234,230,234,198,230,234,198,0,198,198,198,231,198,198,198,198,198,198,198,234,230,198,231,198,0,0,0,0,0,0,0,0,231,0,0,198,70,197,197,70,197,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,70,230,231,232,173,70,197,234,230,231,232,173,70,197,234,230,173,173,70,197,234,232,235,232,232,232,230,231,173,234,70,230,198,198,231,232,173,70,197,234,230,230,230,198,231,232,173,70,197,234,230,235,232,232,232,70,230,198,231,232,173,70,197,234,232,70,230,173,70,239,232,232,232,174,232,197,70,197,230,231,232,173,70,197,234,198,197,197,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,275,0,0,244,244,0,245,242,242,242,244,245,0,0,243,245,191,191,191,191,191,191,191,191,191,191,243,242,245,244,191,243,242,245,244,191,191,245,244,191,245,244,244,191,191,245,244,191,191,191,191,191,244,191,191,191,191,191,243,243,242,242,245,244,191,243,242,245,244,244,191,191,243,242,245,244,191,191,191,191,191,244,191,191,191,245,245,191,245,244,243,242,191,243,242,245,244,191,243,242,245,244,191,243,242,245,244,191,191,191,243,242,245,244,276,276,277,277],"f":"````````````{{{d{b}}}f}{{{d{b}}}{{d{{h{f}}}}}}`{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000`{{{d{b}}}b}{{{d{l}}}l}{{{d{n}}}n}{{{d{A`}}}A`}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{b}}{d{b}}}Ad}````{c{{Af{b}}}Ah}{c{{Af{l}}}Ah}{{{d{b}}{d{b}}}Aj}{{{d{l}}{d{l}}}Aj}{{{d{n}}{d{n}}}Aj}{{{d{A`}}{d{A`}}}Aj}{{{d{b}}{d{jAl}}}An}{{{d{l}}{d{jAl}}}An}{{{d{n}}{d{jAl}}}An}{{{d{A`}}{d{jAl}}}An}`{cc{}}000{{{d{b}}{d{jc}}}AbB`}{{{d{l}}{d{jc}}}AbB`}{ce{}{}}000````{{{d{A`}}}Bb}`{{{d{b}}{d{b}}}{{Bd{Ad}}}}``{{{d{A`}}}{{Bd{Bf}}}}{{{d{b}}c}AfBh}{{{d{l}}c}AfBh}``{{{d{c}}}e{}{}}000{c{{Af{e}}}{}{}}0000000{{{d{A`}}}{{d{Bj}}}}`{{{d{c}}}Bl{}}000`{{}{{d{Bn}}}}::::``````````````````````````````````````````{{{d{{C`{c}}}}Cb}{{Af{CdCf}}}{ChCj}}{{}Cl}0{{{d{{Cn{ce}}}}}{{d{{D`{ce}}}}}ChDb}{{{d{{d{{Cn{ce}}}}}}}{{Dd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000{{{d{{Cn{ce}}}}}{{Dn{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}0`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{Cn{cFn}}}}}{{Af{AbEh}}}Ch}2022102102{{{d{c}}}{{Af{AbEh}}}Ch}00{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{D`{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{D`{cFn}}}}}{{Af{AbEh}}}Ch}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}00`{{{d{{C`{c}}}}}{{C`{c}}}{G`Ch}}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{{Cn{ce}}}}}{{Cn{ce}}}{G`Ch}{G`Db}}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{{C`{c}}}}{d{{C`{c}}}}}Ad{GbCh}}{{{d{Fl}}{d{Fl}}}Ad}{{{d{Fn}}{d{Fn}}}Ad}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AdChDb}{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{c}}}}}GjCh}{{{d{{C`{Df}}}}}Gl}{c{{Af{{C`{e}}}}}AhGn}{c{{Af{{Cn{eg}}}}}AhGnDb}{{{d{{C`{Df}}}}}H`}{{{d{{Cn{ce}}}}}Hb{CjCh}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}Aj{HdCh}}{{{d{Fl}}{d{Fl}}}Aj}{{{d{Fn}}{d{Fn}}}Aj}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AjChDb}`{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}`{{{d{{Cn{ce}}}}{d{Hf}}}{{Af{AbHh}}}ChDb}{{{d{Hj}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{C`{Df}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{Cn{Dfc}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}Db}{{{d{{C`{Df}}}}{d{{Gd{c}}}}{d{If}}{Ih{Dh}}}{{Af{{Bd{{Ij{Dh{C`{Gf}}}}}}Dl}}}Gh}{{{d{{C`{c}}}}{d{jAl}}}{{Af{AbIl}}}Ch}0{{{d{Fl}}{d{jAl}}}{{Af{AbIl}}}}{{{d{Fn}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{Cn{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{{C`{c}}}}e}AjCh{{J`{{d{c}}}{{In{Aj}}}}}}{{{d{{Cn{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{cc{}}{{{Jl{c}}}{{C`{c}}}Ch}111{{{D`{ce}}}{{Af{{Cn{ce}}Cf}}}ChDb}{{{D`{ce}}JnK`}{{Cn{ce}}}ChDb}{{{d{Bn}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Bn}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{Bn}}{d{Hf}}}{{Af{{Cn{ce}}Cf}}}GnDb}1{{{d{Kb}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Kb}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{{Cn{ce}}}}Kd}{{Bd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}Kd}{{Bd{c}}}ChDb}{{{d{{C`{c}}}}e}{{Af{{Ij{{Dn{{Dn{f}}}}Hb}}Cf}}}{ChCj}{{Kf{c}}}}0{{{d{{Cn{ce}}}}}AjChDb}0{{{d{{C`{Df}}}}}Aj}{{{d{{C`{c}}}}{d{je}}}Ab{KhCh}B`}{{{d{Fl}}{d{jc}}}AbB`}{{{d{Fn}}{d{jc}}}AbB`}{{{d{{Cn{ce}}}}{d{jg}}}AbChDbB`}{ce{}{}}000{{{Cn{ce}}}{{D`{ce}}}ChDb}{{{C`{Df}}}{{Af{{Dn{{C`{Df}}}}Cf}}}}{{Kj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{Kl{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}99:{{{d{{Cn{ce}}}}}{{L`{ce}}}ChDb}{{{d{{Cn{ce}}}}}{{Lb{ce}}}ChDb}{{{d{{C`{c}}}}}{{Af{{Ld{c}}Cf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{{d{{Cn{ce}}}}}{{Af{AbLf}}}ChDb}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{cFn}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{ce}}}}}{{Af{KdCf}}}ChDb}{{{d{{C`{c}}}}}{{Af{KdCf}}}Ch}1{{{d{{C`{c}}}}}{{Af{LhCf}}}Ch}{{}{{d{Bn}}}}00{{{Cn{cLj}}}{{Af{{C`{c}}Cf}}}Ch}{c{{C`{c}}}Ch}{c{{Af{{C`{c}}Cf}}}Ch}{{{Cn{cFl}}}{{Af{{C`{c}}Cf}}}Ch}{{Kd{Dn{c}}}{{Af{{C`{c}}Cf}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jl{c}}}{{C`{c}}}Ch}4{{{Cn{cFn}}}{{Af{{C`{c}}Cf}}}Ch}3{{c{Bd{{Ll{c}}}}}{{Af{{C`{c}}Cf}}}Ch}614`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{If}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{Gd{c}}}}{d{Bn}}}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Cf}}}Mb}1{{{d{If}}{d{Hf}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}{{Bd{Ad}}}{MdCh}}{{{d{Fl}}{d{Fl}}}{{Bd{Ad}}}}{{{d{Fn}}{d{Fn}}}{{Bd{Ad}}}}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}{{Bd{Ad}}}ChDb}{{{d{c}}}KdCh}00{{{C`{Dj}}{d{c}}}{{Af{Mf{C`{Dj}}}}}{{Ed{Dj}}}}0`{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{c}}}}}{{Af{AbCf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{AbHh}}}ChDb}{{{d{{C`{c}}}}{d{jMh}}e}{{Af{AbCf}}}{ChCj}{{Kf{c}}}}{{{d{{Cn{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}0{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}{{{d{{C`{c}}}}}Hb{ChCj}}{{{d{{Cn{ce}}}}}KdChDb}{{{d{{C`{c}}}}e}AfChBh}{{{d{{Cn{ce}}}}g}AfChDbBh}{{}Mj}00{{{d{{Cn{ce}}}}{d{{M`{Fhc}}}}}{{Cn{ce}}}ChDb}`{{{d{c}}}e{}{}}000{{{d{c}}}Ml{}}0{{{d{{C`{Df}}}}{d{{M`{DfLn}}}}}Ml}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{C`{c}}}}{d{ji}}}{{Af{{Mn{g}}}}}ChCh{}{{N`{ceg}}}}{{{d{{Cn{ce}}}}{d{jk}}}{{Af{{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}0000000`{{{d{c}}}Bl{}}000={ce{}{}}000{{{d{{Cn{ce}}}}}AjChDb}{{{d{Bn}}}{{Af{MlId}}}}{{{d{Bn}}}{{Af{{Nb{f}}Id}}}}``````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{Id}}{d{jAl}}}An}0{NdId}{CfId}{NfId}{NhId}{NjId}{NlId}{NnId}{cc{}}>{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0{{{d{c}}}Bl{}}{ce{}{}}```````````````````````````````````>>>>>>>======={{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Od}}}Od}{{{d{Ib}}}Ib}{{{d{Of}}}Of}{{{d{Hn}}}Hn}{{{d{c}}{d{je}}}Ab{}{}}00000``{{}Of}{{{d{O`}}{d{O`}}}Aj}{{{d{Ob}}{d{Ob}}}Aj}{{{d{Od}}{d{Od}}}Aj}{{{d{Ib}}{d{Ib}}}Aj}{{{d{Of}}{d{Of}}}Aj}{{{d{Nf}}{d{Nf}}}Aj}{{{d{O`}}{d{jAl}}}An}{{{d{Ob}}{d{jAl}}}An}{{{d{Od}}{d{jAl}}}An}{{{d{Ib}}{d{jAl}}}An}{{{d{Of}}{d{jAl}}}An}{{{d{Nf}}{d{jAl}}}An}0{{{d{Hn}}{d{jAl}}}An}{cc{}}00{AjOd}{ObIb}2222{{{d{Ib}}{d{{M`{Ml{Dn{Kd}}}}}}}{{Af{OfNf}}}}{{{d{O`}}{d{jc}}}AbB`}{{{d{Of}}{d{jc}}}AbB`}{{{d{Ob}}}Ml}`{ce{}{}}000000{{{d{Ob}}}Aj}{{{d{Od}}}Aj}{{{d{Of}}}Aj}`{{{d{Of}}{d{Of}}}{{Bd{Ad}}}}{{{d{Ib}}}Aj}`{{{d{O`}}c}AfBh}{{{d{Ob}}c}AfBh}{{{d{Od}}c}AfBh}{{{d{Ib}}c}AfBh}{{{d{Of}}c}AfBh}`{{{d{c}}}e{}{}}00000{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0000000000000{{{d{c}}}Bl{}}000000>>>>>>>``````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{OhCb}{{Af{OjId}}}}{{{Ol{c}}Cb}{{Af{OjId}}}{{On{Fl}}}}{{{A@`{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@b{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@d{c}}Cb}{{Af{OjId}}}{{On{A@f}}}}{{{A@h{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@l{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@n{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AA`{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAb{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAd{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAf{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{{{AAh{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{cc{}}00000000000{ce{}{}}00000000000{{Oj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{c{d{{Gd{I`}}}}Cb}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Id}}}{}}00000000000{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000444444444444```````````````````````````````````````````{{}AAj}{{}Cl}{{DfDh}{{Af{DjDl}}}}{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{{d{{AAl{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}00000{{{d{c}}}{{Af{AbEh}}}Ch}{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}{{{d{{AAn{ce}}}}}{{AAn{ce}}}G`Db}{{{d{Cl}}}Cl}{{{d{AB`}}}AB`}{{{d{{AAl{ce}}}}}{{AAl{ce}}}{G`Ch}{G`Db}}{{{d{Df}}}Df}{{{d{Ln}}}Ln}{{{d{ABb}}}ABb}{{{d{ABd}}}ABd}{{{d{ABf}}}ABf}{{{d{c}}{d{je}}}Ab{}{}}00000000{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Ad{GbCh}{GbDb}}{{{d{Df}}{d{Df}}}Ad}{{{d{ABb}}{d{ABb}}}Ad}{{{d{ABf}}{d{ABf}}}Ad}`{{}AB`}{{{d{{AAn{ce}}}}}{{d{g}}}{}Db{}}{{DfDh}{{Af{DjDl}}}}{c{{Af{Df}}}Ah}{{{d{{AAl{ce}}}}}Hb{CjCh}Db}{{{d{Cl}}{d{Cl}}}Aj}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Aj{HdCh}{HdDb}}{{{d{Df}}{d{Df}}}Aj}{{{d{Ln}}{d{Ln}}}Aj}{{{d{ABb}}{d{ABb}}}Aj}{{{d{ABd}}{d{ABd}}}Aj}{{{d{ABf}}{d{ABf}}}Aj}{{{d{{ABh{c}}}}{d{jAl}}}An{ABjDb}}{{{d{Cl}}{d{jAl}}}An}{{{d{AB`}}{d{jAl}}}An}{{{d{Nh}}{d{jAl}}}An}0{{{d{{AAl{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{Df}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{Ln}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{ABb}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABd}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABf}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{AAl{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{ABl{{ABn{c}}}Db}{cc{}}{AC`{{ABn{c}}}Db}1111{NnNh}2{CfNh}3{DjDf}44444{{DfAAj}{{ABh{c}}}Db}{{LnAAj}{{ABh{c}}}Db}{{{d{Bn}}}{{Af{Df}}}}{{{d{Bn}}}{{Af{Ln}}}}{{{d{Kb}}}{{Af{{AAl{ce}}Cf}}}{ACbCh}Db}{{{d{Df}}}{{Bd{ACd}}}}{{{d{Df}}}{{Dn{ACd}}}}{c{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{{}{{Af{{AAn{ADbc}}e}}}Db{}}{{{d{jc}}}{{Af{{AAn{ADbe}}g}}}{ADdADf}Db{}}{{c{d{je}}}{{Af{{AAn{{ACl{}{{ACf{g}}{ACh{c}}{ACj{i}}}}k}}i}}}{}{ADdADf}{{ACn{{h{f}}}}AD`}ABjDb}{{ce}{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{c{{Af{{AAn{ADbe}}g}}}{}Db{}}{{{d{{ABn{c}}}}}AjDb}{{{d{Df}}}Aj}{{{d{{AAl{ce}}}}{d{jg}}}Ab{KhCh}{KhDb}B`}{{{d{Df}}{d{jc}}}AbB`}{{{d{ABb}}{d{jc}}}AbB`}{{{d{ABf}}{d{jc}}}AbB`}{ce{}{}}00000000000{DfADh}{On{{Af{{ABh{c}}Nh}}}Db}{{A@j{Bd{ADj}}ACd}{{Af{{ABh{c}}Nh}}}Db}{{{AAn{ec}}}{{Af{{ABh{c}}Nh}}}Db{{On{c}}}}{{{AAn{ec}}{Bd{ADj}}ACd}{{Af{{ABh{c}}Nh}}}Db{{A@j{c}}}}{{{ABh{c}}}{{Af{{ABh{c}}Nh}}}Db}{Df{{Af{{ABh{c}}Nh}}}Db}{Ln{{Af{{ABh{c}}Nh}}}Db}{A@j{{Af{{ABn{c}}Nh}}}Db}{{{ABn{c}}}{{Af{{ABn{c}}Nh}}}Db}{{{AAn{ec}}}{{Af{{ABn{c}}Nh}}}Db{{A@j{c}}}}{{{AAn{ce}}}c{}Db}{Df{{Dn{Df}}}}{Ln{{Dn{Ln}}}}{{{ABn{c}}Cb}{{Bd{AC`}}}Db}{{{ABn{c}}Cb{d{{Gd{e}}}}}ABlDbMb}{{{d{Df}}}Aj}{{}Aj}{{{d{Cl}}}Aj}2{{{d{Ln}}}Aj}212133{{{d{{AAl{ce}}}}}KdChDb}``{{{d{{AAl{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{}AAj}{{{d{Df}}}ADl}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}44{{{d{AAj}}{d{AAj}}}AAj}5{{}{{d{Bn}}}}{{Kd{Dn{c}}}{{Af{{AAl{ce}}Cf}}}ChDb}{{{d{Df}}}Kd}``{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{ABh{c}}AAj}{{ABh{c}}}Db}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}{{Bd{Ad}}}{MdCh}{MdDb}}{{{d{Df}}{d{Df}}}{{Bd{Ad}}}}{{{d{ABb}}{d{ABb}}}{{Bd{Ad}}}}{{{d{ABf}}{d{ABf}}}{{Bd{Ad}}}}{{{d{c}}}KdCh}{{{d{{AAl{ce}}}}}{{d{{h{c}}}}}ChDb}{{{d{{AAl{ce}}}}}{{Af{AbCf}}}ChDb}{{{d{{AAl{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}{{{d{{AAl{ce}}}}}KdChDb}{{{d{Df}}c}AfBh}{{}Mj}{{{d{{AAl{ce}}}}}{{D`{ce}}}{CjCh}Db}{{}AAj}{{{d{c}}}e{}{}}00000000{{{d{Ln}}{d{{Gd{c}}}}}{{Af{DfADn}}}Mb}{{{d{c}}}Ml{}}000{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{AAl{ce}}}}{d{jk}}}{{Af{{AAl{ge}}{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000{ce{}{}}00000000000`{{{d{AE`}}}{{Bd{AEb}}}}{{{d{AE`}}}{{Bd{AEd}}}}{{{d{AE`}}Kd}{{Bd{Bj}}}}`````````````````````{{AEfAEf}AEf}{{{d{jAEh}}bAEj{AEn{AEl}}}Ab}`{{{d{AEh}}}{{M`{b{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}}}{{{d{jAEh}}{d{AFf}}Dh}{{Af{AbAFh}}}}{{{d{jAEh}}{d{AFf}}DhAFj}{{Af{AbAFl}}}}{{{d{jAEh}}c}Ab{{AG`{}{{AF`{{Ij{{d{AFn}}H`}}}}}}}}{{{d{jAEh}}c}{{Af{AbAFh}}}{{AGd{AGb}}}}{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{AEh}}}AEf}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{jc}}}{{d{je}}}{}{}}0000000{{{d{jAEh}}AGj}{{Af{{AGn{AGl}}AH`}}}}{{{d{jAEh}}}{{AGn{AGl}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEbAHb}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEdAHb}}}}{{{d{jAEh}}{d{AFn}}}Ab}``{{{d{AEh}}}AHd}{{{d{AEf}}}AEf}{{{d{AGb}}}AGb}{{{d{c}}{d{je}}}Ab{}{}}0``{{}AEf}{{}AGb}{{{d{AHf}}}{{d{c}}}{}}{{{d{AEh}}b}{{Bd{Dh}}}}{{{d{AEh}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{AEh}}b}Ml}{c{{Af{AEf}}}Ah}{{{d{AEf}}{d{AEf}}}Aj}{{{d{AHf}}{d{AHf}}}Aj}``{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}{{{d{AEf}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AEh}}{d{jAl}}}An}{{{d{AGb}}{d{jAl}}}An}{{{d{AHf}}{d{jAl}}}An}0{{{d{AHn}}{d{jAl}}}An}0{{{d{AI`}}{d{jAl}}}An}0{{{d{AIb}}{d{jAl}}}An}0{{{d{AId}}{d{jAl}}}An}0{cc{}}0{{{AIf{b}}}AGb}{AIhAGb}222222{{{d{AEh}}b}{{d{Kl}}}}{{{d{AEh}}l{Bd{AIj}}Aj}{{Af{AIlAIn}}}}{{{d{AEh}}b}{{AEn{Hl}}}}{{{d{AEh}}AGj}{{Bd{{AJ`{{AEn{AFn}}AGf}}}}}}{{{d{AEh}}Bb}{{Bd{l}}}}````{{{d{jAEh}}AFj}{{Af{AjAJb}}}}{{{d{jAEh}}AFn}Aj}{{{d{jAEh}}BbBj}Ab}{ce{}{}}0000000{{{d{AJd}}{d{If}}}Aj}{{{d{AEh}}{d{If}}}Aj}`{{{d{AEh}}}{{`{{AFd{}{{AF`{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{AEh}}}AJf}{{{d{AEh}}}{{`{{AFd{}{{AF`{l}}}}}}}}0{{{d{AEh}}b}{{`{{AJh{}{{AF`{AHf}}}}}}}}{AJj{{Af{AEhAI`}}}}{{{d{AEh}}}{{d{AJl}}}}{{{d{jAEh}}bDh}Aj}{{{d{AEh}}}Cb}`{{ccCb}{{Af{AEhAHn}}}Kj}{{cc{Bd{AJj}}Cb}{{Af{AEhAIb}}}Kj}{{cc{Bd{AJj}}CbAJn}{{Af{AEhAIb}}}Kj}{{ccCbAJn}{{Af{AEhAHn}}}Kj}{{{d{AEh}}b}Dh}{{{d{jAEh}}b}AHf}{{{d{AEh}}bDh}AHf}{{{d{AEh}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{AEh}}b}{{d{Kl}}}}{{{d{jAEh}}bDh}{{`{{AFd{}{{AF`{AHf}}}}}}}}4{{{d{AEh}}}{{d{{Gd{I`}}}}}}{{{d{AEh}}{d{AFn}}}{{Ij{AEbAEb}}}}{{{d{AEf}}c}AfBh}{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}`{{{d{AEh}}}{{d{{AK`{b}}}}}}{{{d{AEh}}}{{Bd{{d{AJj}}}}}}{{{d{AEh}}}{{AKb{b}}}}{{{d{AEh}}}AKd}{{{d{jAEh}}}{{Bd{AJj}}}}{{{d{c}}}e{}{}}0{{{d{c}}}Ml{}}00000{{{d{AEf}}}AEb}{{{d{AEh}}}{{`{{AFd{}{{AF`{{AJ`{{AEn{AFn}}AGf}}}}}}}}}}`1{c{{Af{e}}}{}{}}000000000000000`{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{c}}}Bl{}}0000000{{{d{AEh}}b}{{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}{{{d{AEh}}}{{`{{AFd{}{{AF`{{AKf{{AEn{AFn}}AGf}}}}}}}}}}{{{d{jAEh}}bDh}Aj}`{ce{}{}}0000000{{c{Bd{c}}Cb{d{{Gd{I`}}}}}{{Af{MlId}}}Kj}`````````````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{AKh}}}AKh}{{{d{AKj}}}AKj}{{{d{AKl}}}AKl}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AKn}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKh}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKj}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKl}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{H`AEd{d{If}}}ALd}{{}AKh}{{}AKj}{{}AKl}``{{{d{ALb}}{d{jAl}}}An}0{{{d{ALd}}{d{jAl}}}An}{{{d{AL`}}{d{jAl}}}An}{{{d{AKh}}{d{jAl}}}An}{{{d{AKj}}{d{jAl}}}An}{{{d{AKl}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{AL`}}}H`}{H`AKl}`1{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}00000000000{{{d{c}}}Bl{}}00000666666`````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{jc}}}{{d{je}}}{}{}}00{{{d{ALf}}}ALf}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALf}}{d{jAl}}}An}0{{{d{AIn}}{d{jAl}}}An}0{{{d{AH`}}{d{jAl}}}An}0>>{ALhAIn}{ALbAIn}{NfAIn}{ALfAIn}{IdAIn}{cc{}}{ce{}{}}00{{{d{c}}}e{}{}}{{{d{c}}}Ml{}}00{c{{Af{e}}}{}{}}00000{{{d{c}}}Bl{}}00444``````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{ALj}}}{{Bd{Ml}}}}{{{d{ALj}}}Ml}{c{{Af{ALj}}}Ah}{{{d{AEh}}{d{Bn}}Aj}{{Af{ALj{d{Bn}}}}}}{{{d{ALj}}{d{jAl}}}An}0<{{{d{Bn}}}{{Af{ALjc}}}{}}<``{{{d{ALj}}c}AfBh};::9=````````````````````````````````````{{{d{jHl}}ALlAEj{AEn{AEl}}}{{Bd{{AEn{AEl}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{ALl}}}ALl}{{{d{ALn}}}ALn}{{{d{{AM`{c}}}}}{{AM`{c}}}{G`AMbABjG`}}{{{d{AEj}}}AEj}{{{d{Hl}}}Hl}{{{d{AHj}}}AHj}{{{d{AMd}}}AMd}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{ALl}}{d{ALl}}}Ad}{{{d{AEj}}{d{AEj}}}Ad}{{}AEj}{{}Hl}{{}AHj}{{}AMd}{{{d{{AM`{c}}}}}{{d{e}}}{AMbABjG`}{}}{{{d{AMf}}}{{Bd{Ln}}}}{{{d{{AM`{{AMh{AC`}}}}}}}{{Bd{Ln}}}}{{{d{{AM`{AMj}}}}}{{Bd{Ln}}}}{{{d{{AM`{{AMl{AC`}}}}}}}{{Bd{Ln}}}}{{{d{ALl}}{d{ALl}}}Aj}{{{d{ALn}}{d{ALn}}}Aj}{{{d{AEj}}{d{AEj}}}Aj}{{{d{AMd}}{d{AMd}}}Aj}{{{d{Hl}}ALl}{{Bd{{d{{AEn{AEl}}}}}}}}{{{d{ALl}}{d{jAl}}}An}{{{d{AHl}}{d{jAl}}}An}0{{{d{ALn}}{d{jAl}}}An}{{{d{{AM`{c}}}}{d{jAl}}}An{ABjAMbABjG`}}{{{d{AEj}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AHj}}{d{jAl}}}An}{{{d{AMd}}{d{jAl}}}An}{FhALl}{ADlALl}{cc{}}0000000{{{d{ALl}}{d{jc}}}AbB`}{{{d{AMf}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{AMj}}}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{{AMl{AC`}}}}}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{{AMh{AC`}}}}}}{d{{Gd{I`}}}}}ALl}{{{d{Hl}}}{{Dn{{d{ALl}}}}}}{ce{}{}}0000000{{cALn}{{AM`{c}}}{AMbABjG`}}{{}Hl}{{{d{ALl}}{d{ALl}}}{{Bd{Ad}}}}{{{d{AEj}}{d{AEj}}}{{Bd{Ad}}}}{{{d{jHl}}ALlAEj}{{Bd{{AEn{AEl}}}}}}{{{d{AMn}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AM`{{AMl{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AM`{{AMh{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AM`{AMj}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{AEl}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{c}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEn{AEl}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Ml{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000````````````````{{{d{j{AGn{c}}}}{d{e}}}{{d{j{AGn{c}}}}}{}{{ANb{AN`}}}}{{{d{j{AGn{c}}}}BbAIlLh}{{Af{{d{j{AGn{c}}}}ANd}}}{}}{{{d{j{AGn{c}}}}BbAIlLhBf}{{Af{{d{j{AGn{c}}}}ANd}}}{}}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}HbAEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{Af{{d{j{AGn{c}}}}ANf}}}{}}{{{d{j{AGn{c}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGn{c}}}}ANf}}}{}}{{{d{j{AGn{c}}}}Aj}{{d{j{AGn{c}}}}}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000{{{d{j{AGn{c}}}}ANh}{{d{j{AGn{c}}}}}{}}{{{d{{AGn{c}}}}}{{AGn{c}}}G`}{{{d{ANj}}}ANj}{{{d{ANh}}}ANh}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{ANh}}{d{ANh}}}Ad}{{{AGn{c}}e}{{AGn{e}}}{}AKn}{{{d{j{AGn{c}}}}Dh}{{d{j{AGn{c}}}}}{}}{{}ANj}{{}ANh}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Hb}{{d{j{AGn{c}}}}}{}}11{{{d{j{AGn{c}}}}Bf}{{d{j{AGn{c}}}}}{}}{{{d{ANh}}{d{ANh}}}Aj}{{{d{j{AGn{c}}}}AEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AEd}{{d{j{AGn{c}}}}}{}}{{{AGn{c}}}{{Af{AHhAIn}}}AKn}{{{AGn{c}}{d{je}}}{{Af{AHhAIn}}}AKnADf}{{{d{{AGn{c}}}}{d{jAl}}}AnABj}{{{d{ANf}}{d{jAl}}}An}0{{{d{ANd}}{d{jAl}}}An}0{{{d{ANj}}{d{jAl}}}An}{{{d{ANh}}{d{jAl}}}An}{cc{}}0000{{{d{ANh}}{d{jc}}}AbB`}>{ce{}{}}0000?{{{d{j{AGn{c}}}}ANl}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}0{{{d{j{AGn{c}}}}ANj}{{d{j{AGn{c}}}}}{}}{{{d{ANh}}{d{ANh}}}{{Bd{Ad}}}}{{{d{j{AGn{c}}}}{M`{Ml{Dn{Kd}}}}b}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}{Dn{{Ij{HbAEb}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AIj}{{d{j{AGn{c}}}}}{}}{{{d{ANj}}{d{jAFn}}}Ab}{{{d{ANj}}{d{jAFn}}{d{jc}}}AbADf}{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}0{c{{Af{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000{{{d{j{AGn{c}}}}{Dn{Bb}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}ANn}{{d{j{AGn{c}}}}}{}}?????````","D":"FGd","p":[[6,"KeychainKind",0,1703],[1,"reference"],[1,"u8"],[1,"slice"],[0,"mut"],[5,"LocalOutput",0,1703],[5,"WeightedUtxo",0,1703],[6,"Utxo",0,1703],[1,"unit"],[6,"Ordering",1704],[6,"Result",1705],[10,"Deserializer",1706],[1,"bool"],[5,"Formatter",1707],[8,"Result",1707],[10,"Hasher",1708],[5,"OutPoint",1709],[6,"Option",1710],[5,"Sequence",1709],[10,"Serializer",1711],[5,"TxOut",1709],[5,"TypeId",1712],[1,"str"],[6,"Descriptor",100,1713],[6,"Network",1714],[5,"Address",1715],[6,"Error",1716],[10,"MiniscriptKey",1716],[10,"ToPublicKey",1716],[6,"ScriptContextEnum",693],[5,"Miniscript",100,1717],[6,"Terminal",1718],[10,"ScriptContext",693,1719],[6,"Tree",1720],[6,"DescriptorPublicKey",693,1721],[1,"u32"],[5,"DefiniteDescriptorKey",1721],[6,"ConversionError",1721],[5,"Vec",1722],[6,"Placeholder",1723],[5,"Satisfaction",1723],[10,"AssetProvider",1724],[17,"Key"],[6,"ScriptContextError",1719],[17,"Sha256"],[5,"Hash",1725],[17,"Hash256"],[5,"Hash",1726],[17,"Ripemd160"],[5,"Hash",1727],[17,"Hash160"],[5,"Hash",1728],[10,"ParseableKey",1718],[6,"Legacy",100,1719],[6,"Segwitv0",100,1719],[10,"Clone",1729],[10,"Ord",1704],[5,"Secp256k1",1730],[5,"PublicKey",1731],[10,"Verification",1732],[6,"DescriptorType",1713],[5,"DescriptorId",1733],[10,"FromStrKey",1734],[1,"u64"],[5,"ScriptBuf",1735],[10,"PartialEq",1704],[5,"ExtParams",1736],[6,"AnalysisError",1736],[10,"ExtractPolicy",100],[5,"SignersContainer",1408],[6,"BuildSatisfaction",386],[6,"All",1737],[5,"Policy",386],[6,"Error",354],[5,"Script",1738],[5,"Range",1739],[1,"tuple"],[5,"Error",1707],[17,"Output"],[10,"FnMut",1740],[5,"Pkh",1741],[5,"Wpkh",1742],[5,"Tr",1743],[5,"Sh",1744],[5,"Bare",1741],[5,"Wsh",1742],[5,"Type",1745],[5,"ExtData",1746],[5,"Tree",1747],[1,"usize"],[10,"Satisfier",1723],[10,"Hash",1708],[10,"IntoWalletDescriptor",100],[8,"ExtendedDescriptor",100],[8,"KeyMap",693,1713],[5,"Iter",1748],[5,"PkIter",1748],[6,"Policy",1749],[6,"LiftError",1750],[5,"Weight",1751],[6,"BareCtx",1719],[6,"TapTree",1743],[6,"DescriptorSecretKey",693,1721],[5,"BTreeMap",1752],[10,"Signing",1732],[10,"PartialOrd",1704],[5,"Plan",1724],[5,"TxIn",1709],[6,"SigType",1719],[5,"String",1753],[6,"TranslateErr",1716],[10,"Translator",1716],[1,"array"],[6,"HexToBytesError",1754],[6,"PolicyError",386],[6,"KeyError",693],[6,"Error",1755],[6,"ParsePublicKeyError",1731],[6,"Error",1756],[6,"PkOrF",386],[6,"SatisfiableItem",386],[6,"Satisfaction",386],[5,"Condition",386],[10,"DescriptorTemplate",557],[8,"DescriptorTemplateOut",557],[5,"P2Pkh",557],[10,"IntoDescriptorKey",693],[5,"P2Wpkh_P2Sh",557],[5,"P2Wpkh",557],[5,"P2TR",557],[6,"Tap",1719],[5,"Bip44",557],[10,"DerivableKey",693],[5,"Bip44Public",557],[5,"Bip49",557],[5,"Bip49Public",557],[5,"Bip84",557],[5,"Bip84Public",557],[5,"Bip86",557],[5,"Bip86Public",557],[8,"ValidNetworks",693],[5,"SortedMultiVec",693,1757],[5,"GeneratedKey",693],[5,"PrivateKeyGenerateOptions",693],[5,"SinglePub",693,1721],[5,"SinglePriv",693,1721],[6,"SinglePubKey",693,1721],[6,"DescriptorKey",693],[10,"Debug",1707],[5,"Xpub",1756],[6,"ExtendedKey",693],[5,"Xpriv",1756],[10,"FromStr",1758],[5,"DerivationPath",1756],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",693],[10,"AsMut",1759],[10,"Default",1760],[10,"GeneratableDefaultOptions",693],[10,"CryptoRng",1761],[10,"RngCore",1761],[5,"Assets",1724],[8,"KeySource",1756],[5,"Fingerprint",1756],[5,"DescriptorKeyParseError",1721],[10,"PsbtUtils",994],[5,"Amount",1762],[5,"FeeRate",1763],[5,"Balance",998,1764],[5,"Wallet",998],[5,"SignerOrdering",1408],[10,"TransactionSigner",1408],[5,"Arc",1765],[17,"Item"],[8,"Indexed",1764],[10,"Iterator",1766],[5,"Block",1767],[5,"CannotConnectError",1768],[5,"BlockId",1769],[6,"ApplyHeaderError",1768],[5,"Transaction",1709],[10,"IntoIterator",1770],[5,"Update",998],[10,"Into",1759],[5,"ConfirmationTimeHeightAnchor",1769],[5,"TxGraph",1771],[5,"Txid",1709],[8,"DefaultCoinSelectionAlgorithm",1209],[5,"TxBuilder",1586],[6,"BuildFeeBumpError",1308],[6,"CalculateFeeError",1771],[5,"CheckPointIter",1768],[5,"AddressInfo",998],[5,"Psbt",1772],[5,"SignOptions",1408],[6,"SignerError",1408],[6,"NewError",998],[6,"LoadError",998],[6,"NewOrLoadError",998],[6,"ApplyBlockError",998],[5,"FullScanResult",1773],[5,"SyncResult",1773],[5,"PsbtSighashType",1774],[5,"Input",1774],[6,"CreateTxError",1308],[5,"CanonicalTx",1771],[5,"AlterCheckPointError",1768],[10,"IsDust",998,1775],[5,"CheckPoint",1768],[10,"DoubleEndedIterator",1776],[8,"ChangeSet",998],[5,"LocalChain",1768],[5,"BlockHash",1767],[5,"KeychainTxOutIndex",1777],[5,"FullScanRequest",1773],[5,"SyncRequest",1773],[5,"TxNode",1771],[5,"LargestFirstCoinSelection",1209],[5,"OldestFirstCoinSelection",1209],[5,"BranchAndBoundCoinSelection",1209],[10,"CoinSelectionAlgorithm",1209],[5,"CoinSelectionResult",1209],[6,"Error",1209],[6,"Excess",1209],[6,"MiniscriptPsbtError",1308],[6,"Error",1778],[5,"FullyNodedExport",1385],[6,"SignerId",1408],[6,"SignerContext",1408],[5,"SignerWrapper",1408],[10,"Sized",1779],[6,"TapLeavesOptions",1408],[10,"SignerCommon",1408],[5,"DescriptorXKey",1721],[5,"PrivateKey",1731],[5,"DescriptorMultiXKey",1721],[10,"InputSigner",1408],[5,"PushBytes",1780],[10,"AsRef",1759],[6,"AddForeignUtxoError",1586],[6,"AddUtxoError",1586],[6,"ChangeSpendPolicy",1586],[6,"TxOrdering",1586],[6,"LockTime",1781],[1,"i32"],[15,"Foreign",97],[8,"DerivedDescriptor",100],[15,"PsbtTimelocks",533],[15,"Complete",536],[15,"Partial",536],[15,"PartialComplete",536],[15,"Sha256Preimage",547],[15,"Hash256Preimage",547],[15,"Ripemd160Preimage",547],[15,"Hash160Preimage",547],[15,"Thresh",547],[15,"Multisig",547],[15,"AbsoluteTimelock",547],[15,"RelativeTimelock",547],[10,"ExtScriptContext",693],[15,"UnexpectedConnectedToHash",1201],[15,"LoadedGenesisDoesNotMatch",1203],[15,"LoadedNetworkDoesNotMatch",1203],[15,"LoadedDescriptorDoesNotMatch",1203],[15,"InsufficientFunds",1301],[15,"Change",1303],[15,"NoChange",1303],[15,"RbfSequenceCsv",1379],[15,"LockTime",1379],[15,"FeeTooLow",1379],[15,"FeeRateTooLow",1379],[8,"WalletExport",1385],[15,"Tap",1585],[15,"InvalidTxid",1699],[15,"Custom",1701]],"r":[[2,100],[4,1703],[6,1703],[7,1408],[8,1586],[9,1703],[10,998],[11,1703],[70,998],[71,100],[104,1713],[106,1721],[113,1719],[114,1717],[119,386],[120,1719],[121,1719],[155,352],[696,1721],[697,1721],[712,1713],[722,1719],[727,1721],[728,1721],[729,1721],[730,1757],[1000,1764],[1006,1775]],"b":[[193,"impl-Descriptor%3CDescriptorPublicKey%3E"],[194,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[213,"impl-Display-for-Descriptor%3CPk%3E"],[214,"impl-Debug-for-Descriptor%3CPk%3E"],[217,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[218,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[221,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[222,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[223,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[224,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[227,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[370,"impl-Debug-for-Error"],[371,"impl-Display-for-Error"],[372,"impl-From%3CHexToBytesError%3E-for-Error"],[373,"impl-From%3CError%3E-for-Error"],[374,"impl-From%3CPolicyError%3E-for-Error"],[375,"impl-From%3CKeyError%3E-for-Error"],[376,"impl-From%3CError%3E-for-Error"],[377,"impl-From%3CParsePublicKeyError%3E-for-Error"],[378,"impl-From%3CError%3E-for-Error"],[461,"impl-Debug-for-PolicyError"],[462,"impl-Display-for-PolicyError"],[811,"impl-Display-for-KeyError"],[812,"impl-Debug-for-KeyError"],[813,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[814,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[815,"impl-Display-for-DescriptorPublicKey"],[816,"impl-Debug-for-DescriptorPublicKey"],[817,"impl-Debug-for-DescriptorSecretKey"],[818,"impl-Display-for-DescriptorSecretKey"],[823,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[825,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[830,"impl-From%3CError%3E-for-KeyError"],[832,"impl-From%3CError%3E-for-KeyError"],[874,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[875,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1071,"impl-Display-for-Balance"],[1072,"impl-Debug-for-Balance"],[1075,"impl-Debug-for-AddressInfo"],[1076,"impl-Display-for-AddressInfo"],[1077,"impl-Debug-for-NewError"],[1078,"impl-Display-for-NewError"],[1079,"impl-Display-for-LoadError"],[1080,"impl-Debug-for-LoadError"],[1081,"impl-Debug-for-NewOrLoadError"],[1082,"impl-Display-for-NewOrLoadError"],[1083,"impl-Display-for-ApplyBlockError"],[1084,"impl-Debug-for-ApplyBlockError"],[1087,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1088,"impl-From%3CSyncResult%3E-for-Update"],[1250,"impl-Display-for-Error"],[1251,"impl-Debug-for-Error"],[1346,"impl-Display-for-MiniscriptPsbtError"],[1347,"impl-Debug-for-MiniscriptPsbtError"],[1348,"impl-Display-for-CreateTxError"],[1349,"impl-Debug-for-CreateTxError"],[1350,"impl-Debug-for-BuildFeeBumpError"],[1351,"impl-Display-for-BuildFeeBumpError"],[1354,"impl-From%3CError%3E-for-CreateTxError"],[1355,"impl-From%3CError%3E-for-CreateTxError"],[1356,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1357,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1358,"impl-From%3CError%3E-for-CreateTxError"],[1395,"impl-Display-for-FullyNodedExport"],[1396,"impl-Debug-for-FullyNodedExport"],[1488,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1489,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1490,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1497,"impl-Debug-for-SignerError"],[1498,"impl-Display-for-SignerError"],[1505,"impl-From%3CHash%3E-for-SignerId"],[1506,"impl-From%3CFingerprint%3E-for-SignerId"],[1517,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1518,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1519,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1535,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1536,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1537,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1643,"impl-Debug-for-AddUtxoError"],[1644,"impl-Display-for-AddUtxoError"],[1645,"impl-Display-for-AddForeignUtxoError"],[1646,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAMEAAwEPAR8DeANrBQ==","e":"OzAAAAEAAG0DfAADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB4AAAAjAABAI8AAACRAAcAnAAAAJ4AAQChAAAApAABAKcAAQCrAAEArgABALEAAQC0AAsAxQADAMoAAwDTAAEA1gAMAOQAAADqAAAA9wADAAIBAAAIAQEADAEBABMBAQApAQMALgEBADwBAQA/AQEAQwEFAE4BBwBXAQMAXAEDAHEBCgB+AQQApgEZAMIBDgDUAQEA2wEBAOoBAADtAQQA8wEiADwCFwBVAgsAeQI8AOQCFwAGAxUAHQMBACADAAAiAxYAOgMAAD8DAABBAwAAQwMAAEsDAQBYAwMAaAMAAGsDBABxAwEAgQMBAIYDAACQAwAAlQMDAJ4DAACiAwgArAMDALMDLwD8AwAABAQAAAYEDwAeBAMAJAQCACoEAgAwBA0AQAQBAHcEAAB/BAcAiwQPAJ0EBwCpBAcAxwQRANoEAgDeBAIA4wQGAPoEGwA7BQ0ASwUEAFQFDwBuBQEAcgUAAHQFAQB3BQAAewUFAKoFDwC7BRQA0QUGANkFCgDsBQAA7gUCAPwFAQAABgIABAYAAAgGBwASBh8ASwYJAFYGBgBfBgEAZgYAAGsGBgB3BgAAgwYAAIkGEwCfBgQA"}],\
+["bdk_wallet",{"t":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPKGPPPPPPGGPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNHOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["External","Foreign","HdKeyPaths","Internal","KeychainKind","Local","LocalOutput","SignOptions","TxBuilder","Utxo","Wallet","WeightedUtxo","as_byte","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fragment","from","from","from","from","hash","hash","into","into","into","into","is_spent","keychain","keys","miniscript","outpoint","outpoint","partial_cmp","psbt","satisfaction_weight","sequence","serialize","serialize","signer","template","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txout","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","wallet","outpoint","psbt_input","sequence","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","calc_checksum_bytes","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeSet","Descriptor","Descriptor","Descriptor","IsDust","LoadError","LoadedDescriptorDoesNotMatch","LoadedGenesisDoesNotMatch","LoadedNetworkDoesNotMatch","MissingDescriptor","MissingGenesis","MissingNetwork","NewError","NewOrLoadError","UnexpectedConnectedToHash","Update","Wallet","add","add_signer","address","all_unbounded_spk_iters","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_ref","balance","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","checkpoints","clone","clone","clone_into","clone_into","coin_selection","confirmed","default","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","error","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","get_descriptor_for_keychain","get_psbt_input","get_signers","get_tx","get_utxo","graph","immature","index","indexed_tx_graph","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load_from_changeset","local_chain","mark_used","network","network","new","new_or_load","new_or_load_with_genesis_hash","new_with_genesis_hash","next_derivation_index","next_unused_address","peek_address","policies","public_descriptor","reveal_addresses_to","reveal_next_address","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","staged","start_full_scan","start_sync_with_revealed_spks","take_staged","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","connected_to_hash","expected_hash","expected","expected","got","got","got","keychain","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[97,"bdk_wallet::Utxo"],[100,"bdk_wallet::descriptor"],[352,"bdk_wallet::descriptor::checksum"],[354,"bdk_wallet::descriptor::error"],[386,"bdk_wallet::descriptor::policy"],[533,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[536,"bdk_wallet::descriptor::policy::Satisfaction"],[547,"bdk_wallet::descriptor::policy::SatisfiableItem"],[557,"bdk_wallet::descriptor::template"],[693,"bdk_wallet::keys"],[994,"bdk_wallet::psbt"],[998,"bdk_wallet::wallet"],[1201,"bdk_wallet::wallet::ApplyBlockError"],[1203,"bdk_wallet::wallet::NewOrLoadError"],[1209,"bdk_wallet::wallet::coin_selection"],[1301,"bdk_wallet::wallet::coin_selection::Error"],[1303,"bdk_wallet::wallet::coin_selection::Excess"],[1308,"bdk_wallet::wallet::error"],[1379,"bdk_wallet::wallet::error::CreateTxError"],[1385,"bdk_wallet::wallet::export"],[1408,"bdk_wallet::wallet::signer"],[1585,"bdk_wallet::wallet::signer::SignerContext"],[1586,"bdk_wallet::wallet::tx_builder"],[1699,"bdk_wallet::wallet::tx_builder::AddForeignUtxoError"],[1701,"bdk_wallet::wallet::tx_builder::TxOrdering"],[1703,"bdk_wallet::types"],[1704,"core::cmp"],[1705,"core::result"],[1706,"serde::de"],[1707,"core::fmt"],[1708,"core::hash"],[1709,"bitcoin::blockdata::transaction"],[1710,"core::option"],[1711,"serde::ser"],[1712,"core::any"],[1713,"miniscript::descriptor"],[1714,"bitcoin::network"],[1715,"bitcoin::address"],[1716,"miniscript"],[1717,"miniscript::miniscript"],[1718,"miniscript::miniscript::decode"],[1719,"miniscript::miniscript::context"],[1720,"miniscript::iter::tree"],[1721,"miniscript::descriptor::key"],[1722,"alloc::vec"],[1723,"miniscript::miniscript::satisfy"],[1724,"miniscript::plan"],[1725,"bitcoin_hashes::sha256"],[1726,"miniscript::miniscript::hash256"],[1727,"bitcoin_hashes::ripemd160"],[1728,"bitcoin_hashes::hash160"],[1729,"core::clone"],[1730,"secp256k1"],[1731,"bitcoin::crypto::key"],[1732,"secp256k1::context"],[1733,"bdk_chain::descriptor_ext"],[1734,"miniscript::blanket_traits"],[1735,"bitcoin::blockdata::script::owned"],[1736,"miniscript::miniscript::analyzable"],[1737,"secp256k1::context::alloc_only"],[1738,"bitcoin::blockdata::script::borrowed"],[1739,"core::ops::range"],[1740,"core::ops::function"],[1741,"miniscript::descriptor::bare"],[1742,"miniscript::descriptor::segwitv0"],[1743,"miniscript::descriptor::tr"],[1744,"miniscript::descriptor::sh"],[1745,"miniscript::miniscript::types"],[1746,"miniscript::miniscript::types::extra_props"],[1747,"miniscript::expression"],[1748,"miniscript::miniscript::iter"],[1749,"miniscript::policy::semantic"],[1750,"miniscript::policy"],[1751,"bitcoin_units::weight"],[1752,"alloc::collections::btree::map"],[1753,"alloc::string"],[1754,"hex_conservative::error"],[1755,"base58ck::error"],[1756,"bitcoin::bip32"],[1757,"miniscript::descriptor::sortedmulti"],[1758,"core::str::traits"],[1759,"core::convert"],[1760,"core::default"],[1761,"rand_core"],[1762,"bitcoin_units::amount"],[1763,"bitcoin_units::fee_rate"],[1764,"bdk_chain::balance"],[1765,"alloc::sync"],[1766,"bdk_chain"],[1767,"core::iter::traits::iterator"],[1768,"bitcoin::blockdata::block"],[1769,"bdk_chain::local_chain"],[1770,"bdk_chain::chain_data"],[1771,"core::iter::traits::collect"],[1772,"bdk_chain::tx_graph"],[1773,"bitcoin::psbt"],[1774,"bdk_chain::spk_client"],[1775,"bitcoin::psbt::map::input"],[1776,"bdk_wallet::wallet::utils"],[1777,"core::iter::traits::double_ended"],[1778,"bdk_chain::indexer::keychain_txout"],[1779,"bitcoin::psbt::error"],[1780,"core::marker"],[1781,"bitcoin::blockdata::script::push_bytes::primitive"],[1782,"bitcoin::blockdata::locktime::absolute"]],"i":[1,8,0,1,0,8,0,0,0,0,0,0,1,1,0,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,7,8,1,6,6,0,0,1,6,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,1,6,7,8,6,6,0,0,8,6,1,0,7,8,1,6,0,0,1,6,7,8,1,6,7,8,1,6,7,8,8,6,1,6,7,8,7,0,1,6,7,8,0,248,248,248,94,249,24,0,0,0,0,0,0,31,0,0,33,0,0,35,94,249,24,0,0,0,94,249,24,35,31,0,94,249,24,94,249,24,94,249,24,35,24,54,55,31,31,24,24,54,55,31,24,54,55,31,31,31,31,0,33,54,55,33,55,33,33,54,55,33,54,55,33,33,54,55,33,54,55,33,54,55,0,24,54,55,31,24,54,55,31,24,54,55,31,31,24,24,24,24,24,24,31,24,31,24,54,55,31,0,24,31,31,69,24,31,24,24,24,54,55,31,31,24,31,24,24,24,24,24,24,24,54,55,31,31,31,24,31,31,31,24,31,31,31,24,24,31,31,24,24,54,55,31,24,54,55,31,31,24,93,94,24,24,31,31,31,24,31,31,33,54,55,31,24,31,24,33,54,55,24,24,24,24,24,24,24,24,24,24,24,24,24,24,31,33,31,24,31,31,24,54,55,31,33,54,55,24,24,0,31,24,31,24,31,31,24,24,31,24,31,33,54,55,31,0,24,54,55,31,24,31,24,33,33,24,31,24,54,55,31,24,54,55,31,31,24,54,55,31,24,24,54,55,31,31,0,0,74,74,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,121,115,115,0,122,0,0,121,120,0,121,121,115,115,115,121,122,71,115,122,122,0,0,0,71,71,120,121,121,0,0,121,121,121,120,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,71,120,121,122,73,123,71,73,123,123,120,121,122,73,123,115,120,121,122,73,123,115,115,71,120,121,122,122,73,73,123,115,71,73,120,123,121,73,120,121,122,73,123,115,71,121,122,123,73,123,73,73,120,121,122,73,123,123,120,121,122,73,123,71,115,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,115,71,250,250,250,251,252,253,252,253,252,253,252,253,252,253,254,255,256,257,258,259,259,258,260,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,124,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,125,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,116,0,0,0,0,158,158,0,0,147,0,0,0,0,116,116,116,33,0,0,30,116,116,103,35,158,151,0,151,0,0,30,35,103,0,0,0,0,30,0,147,103,35,0,262,35,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,142,33,33,33,33,33,33,33,33,33,143,30,144,142,35,103,145,146,147,143,30,144,142,35,103,145,146,147,142,35,145,147,144,144,143,35,35,142,30,142,35,103,145,146,147,148,30,144,116,116,142,142,35,35,103,103,145,146,147,142,151,151,151,143,148,30,144,116,116,116,142,35,35,103,145,146,147,148,148,35,103,142,35,35,158,161,161,158,158,161,151,35,142,35,145,147,151,143,148,30,144,116,142,35,103,145,146,147,35,127,133,143,143,148,35,103,133,151,143,143,35,103,151,151,35,262,30,35,103,262,30,262,30,35,35,142,145,146,142,0,35,33,142,142,0,142,33,142,35,145,146,33,148,142,35,145,147,33,142,142,142,142,35,33,142,0,143,30,144,142,35,103,145,146,147,103,116,142,35,103,33,33,142,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,151,143,148,30,144,116,142,35,103,145,146,147,0,168,168,168,0,0,0,202,0,199,200,201,0,0,201,201,201,200,200,200,0,0,202,0,0,171,172,195,172,172,172,172,172,172,172,171,172,185,195,199,200,201,202,171,172,185,195,199,200,201,202,172,172,172,172,172,213,185,172,171,185,171,185,0,171,171,185,195,172,172,172,171,171,195,0,0,172,171,171,172,185,195,195,199,199,200,200,201,201,202,202,171,172,185,185,185,195,199,200,201,202,172,172,172,172,172,185,171,195,213,172,172,172,171,172,185,195,199,200,201,202,210,172,195,172,185,172,172,172,172,172,172,172,172,213,172,172,172,172,172,172,172,172,172,172,172,172,172,171,172,0,172,172,172,172,172,171,185,171,195,199,200,201,202,171,172,171,171,171,172,185,195,199,200,201,202,171,172,185,195,199,200,201,202,0,172,171,172,185,195,199,200,201,202,172,172,172,171,171,172,185,195,199,200,201,202,0,263,263,264,265,264,265,266,266,225,225,0,226,0,0,0,0,0,225,0,226,0,225,226,224,220,221,222,225,226,224,220,221,222,220,221,222,220,221,222,223,220,221,222,0,220,221,222,224,224,225,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,224,222,224,224,220,221,222,225,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,267,267,268,269,269,268,269,0,207,227,0,207,207,192,207,192,207,207,0,207,207,207,207,207,227,207,207,207,207,207,192,192,207,192,227,207,207,227,207,192,227,207,192,227,227,227,227,207,207,192,192,227,207,207,207,207,207,207,192,227,207,192,227,227,207,192,227,207,192,227,207,192,227,207,192,227,207,192,270,270,271,271,272,273,0,0,274,229,229,229,229,229,229,229,229,229,229,229,229,274,229,229,229,229,229,229,229,234,230,234,198,230,234,198,0,198,198,198,231,198,198,198,198,198,198,198,234,230,198,231,198,0,0,0,0,0,0,0,0,231,0,0,198,70,197,197,70,197,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,70,230,231,232,173,70,197,234,230,231,232,173,70,197,234,230,173,173,70,197,234,232,235,232,232,232,230,231,173,234,70,230,198,198,231,232,173,70,197,234,230,230,230,198,231,232,173,70,197,234,230,235,232,232,232,70,230,198,231,232,173,70,197,234,232,70,230,173,70,239,232,232,232,174,232,197,70,197,230,231,232,173,70,197,234,198,197,197,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,230,198,231,232,173,70,197,234,275,0,0,244,244,0,245,242,242,242,244,245,0,0,243,245,191,191,191,191,191,191,191,191,191,191,243,242,245,244,191,243,242,245,244,191,191,245,244,191,245,244,244,191,191,245,244,191,191,191,191,191,244,191,191,191,191,191,243,243,242,242,245,244,191,243,242,245,244,244,191,191,243,242,245,244,191,191,191,191,191,244,191,191,191,245,245,191,245,244,243,242,191,243,242,245,244,191,243,242,245,244,191,243,242,245,244,191,191,191,243,242,245,244,276,276,277,277],"f":"````````````{{{d{b}}}f}{{{d{b}}}{{d{{h{f}}}}}}`{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000`{{{d{b}}}b}{{{d{l}}}l}{{{d{n}}}n}{{{d{A`}}}A`}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{b}}{d{b}}}Ad}````{c{{Af{b}}}Ah}{c{{Af{l}}}Ah}{{{d{b}}{d{b}}}Aj}{{{d{l}}{d{l}}}Aj}{{{d{n}}{d{n}}}Aj}{{{d{A`}}{d{A`}}}Aj}{{{d{b}}{d{jAl}}}An}{{{d{l}}{d{jAl}}}An}{{{d{n}}{d{jAl}}}An}{{{d{A`}}{d{jAl}}}An}`{cc{}}000{{{d{b}}{d{jc}}}AbB`}{{{d{l}}{d{jc}}}AbB`}{ce{}{}}000````{{{d{A`}}}Bb}`{{{d{b}}{d{b}}}{{Bd{Ad}}}}``{{{d{A`}}}{{Bd{Bf}}}}{{{d{b}}c}AfBh}{{{d{l}}c}AfBh}``{{{d{c}}}e{}{}}000{c{{Af{e}}}{}{}}0000000{{{d{A`}}}{{d{Bj}}}}`{{{d{c}}}Bl{}}000`{{}{{d{Bn}}}}::::``````````````````````````````````````````{{{d{{C`{c}}}}Cb}{{Af{CdCf}}}{ChCj}}{{}Cl}0{{{d{{Cn{ce}}}}}{{d{{D`{ce}}}}}ChDb}{{{d{{d{{Cn{ce}}}}}}}{{Dd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000{{{d{{Cn{ce}}}}}{{Dn{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}0`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{Cn{cFn}}}}}{{Af{AbEh}}}Ch}2022102102{{{d{c}}}{{Af{AbEh}}}Ch}00{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{D`{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{D`{cFn}}}}}{{Af{AbEh}}}Ch}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}00`{{{d{{C`{c}}}}}{{C`{c}}}{G`Ch}}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{{Cn{ce}}}}}{{Cn{ce}}}{G`Ch}{G`Db}}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{{C`{c}}}}{d{{C`{c}}}}}Ad{GbCh}}{{{d{Fl}}{d{Fl}}}Ad}{{{d{Fn}}{d{Fn}}}Ad}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AdChDb}{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{c}}}}}GjCh}{{{d{{C`{Df}}}}}Gl}{c{{Af{{C`{e}}}}}AhGn}{c{{Af{{Cn{eg}}}}}AhGnDb}{{{d{{C`{Df}}}}}H`}{{{d{{Cn{ce}}}}}Hb{CjCh}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}Aj{HdCh}}{{{d{Fl}}{d{Fl}}}Aj}{{{d{Fn}}{d{Fn}}}Aj}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AjChDb}`{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}`{{{d{{Cn{ce}}}}{d{Hf}}}{{Af{AbHh}}}ChDb}{{{d{Hj}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{C`{Df}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{Cn{Dfc}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}Db}{{{d{{C`{Df}}}}{d{{Gd{c}}}}{d{If}}{Ih{Dh}}}{{Af{{Bd{{Ij{Dh{C`{Gf}}}}}}Dl}}}Gh}{{{d{{C`{c}}}}{d{jAl}}}{{Af{AbIl}}}Ch}0{{{d{Fl}}{d{jAl}}}{{Af{AbIl}}}}{{{d{Fn}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{Cn{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{{C`{c}}}}e}AjCh{{J`{{d{c}}}{{In{Aj}}}}}}{{{d{{Cn{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{cc{}}{{{Jl{c}}}{{C`{c}}}Ch}111{{{D`{ce}}}{{Af{{Cn{ce}}Cf}}}ChDb}{{{D`{ce}}JnK`}{{Cn{ce}}}ChDb}{{{d{Bn}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Bn}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{Bn}}{d{Hf}}}{{Af{{Cn{ce}}Cf}}}GnDb}1{{{d{Kb}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Kb}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{{Cn{ce}}}}Kd}{{Bd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}Kd}{{Bd{c}}}ChDb}{{{d{{C`{c}}}}e}{{Af{{Ij{{Dn{{Dn{f}}}}Hb}}Cf}}}{ChCj}{{Kf{c}}}}0{{{d{{Cn{ce}}}}}AjChDb}0{{{d{{C`{Df}}}}}Aj}{{{d{{C`{c}}}}{d{je}}}Ab{KhCh}B`}{{{d{Fl}}{d{jc}}}AbB`}{{{d{Fn}}{d{jc}}}AbB`}{{{d{{Cn{ce}}}}{d{jg}}}AbChDbB`}{ce{}{}}000{{{Cn{ce}}}{{D`{ce}}}ChDb}{{{C`{Df}}}{{Af{{Dn{{C`{Df}}}}Cf}}}}{{Kj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{Kl{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}99:{{{d{{Cn{ce}}}}}{{L`{ce}}}ChDb}{{{d{{Cn{ce}}}}}{{Lb{ce}}}ChDb}{{{d{{C`{c}}}}}{{Af{{Ld{c}}Cf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{{d{{Cn{ce}}}}}{{Af{AbLf}}}ChDb}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{cFn}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{ce}}}}}{{Af{KdCf}}}ChDb}{{{d{{C`{c}}}}}{{Af{KdCf}}}Ch}1{{{d{{C`{c}}}}}{{Af{LhCf}}}Ch}{{}{{d{Bn}}}}00{{{Cn{cLj}}}{{Af{{C`{c}}Cf}}}Ch}{c{{C`{c}}}Ch}{c{{Af{{C`{c}}Cf}}}Ch}{{{Cn{cFl}}}{{Af{{C`{c}}Cf}}}Ch}{{Kd{Dn{c}}}{{Af{{C`{c}}Cf}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jl{c}}}{{C`{c}}}Ch}4{{{Cn{cFn}}}{{Af{{C`{c}}Cf}}}Ch}3{{c{Bd{{Ll{c}}}}}{{Af{{C`{c}}Cf}}}Ch}614`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{If}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{Gd{c}}}}{d{Bn}}}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Cf}}}Mb}1{{{d{If}}{d{Hf}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}{{Bd{Ad}}}{MdCh}}{{{d{Fl}}{d{Fl}}}{{Bd{Ad}}}}{{{d{Fn}}{d{Fn}}}{{Bd{Ad}}}}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}{{Bd{Ad}}}ChDb}{{{d{c}}}KdCh}00{{{C`{Dj}}{d{c}}}{{Af{Mf{C`{Dj}}}}}{{Ed{Dj}}}}0`{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{c}}}}}{{Af{AbCf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{AbHh}}}ChDb}{{{d{{C`{c}}}}{d{jMh}}e}{{Af{AbCf}}}{ChCj}{{Kf{c}}}}{{{d{{Cn{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}0{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}{{{d{{C`{c}}}}}Hb{ChCj}}{{{d{{Cn{ce}}}}}KdChDb}{{{d{{C`{c}}}}e}AfChBh}{{{d{{Cn{ce}}}}g}AfChDbBh}{{}Mj}00{{{d{{Cn{ce}}}}{d{{M`{Fhc}}}}}{{Cn{ce}}}ChDb}`{{{d{c}}}e{}{}}000{{{d{c}}}Ml{}}0{{{d{{C`{Df}}}}{d{{M`{DfLn}}}}}Ml}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{C`{c}}}}{d{ji}}}{{Af{{Mn{g}}}}}ChCh{}{{N`{ceg}}}}{{{d{{Cn{ce}}}}{d{jk}}}{{Af{{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}0000000`{{{d{c}}}Bl{}}000={ce{}{}}000{{{d{{Cn{ce}}}}}AjChDb}{{{d{Bn}}}{{Af{MlId}}}}{{{d{Bn}}}{{Af{{Nb{f}}Id}}}}``````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{Id}}{d{jAl}}}An}0{NdId}{CfId}{NfId}{NhId}{NjId}{NlId}{NnId}{cc{}}>{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0{{{d{c}}}Bl{}}{ce{}{}}```````````````````````````````````>>>>>>>======={{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Od}}}Od}{{{d{Ib}}}Ib}{{{d{Of}}}Of}{{{d{Hn}}}Hn}{{{d{c}}{d{je}}}Ab{}{}}00000``{{}Of}{{{d{O`}}{d{O`}}}Aj}{{{d{Ob}}{d{Ob}}}Aj}{{{d{Od}}{d{Od}}}Aj}{{{d{Ib}}{d{Ib}}}Aj}{{{d{Of}}{d{Of}}}Aj}{{{d{Nf}}{d{Nf}}}Aj}{{{d{O`}}{d{jAl}}}An}{{{d{Ob}}{d{jAl}}}An}{{{d{Od}}{d{jAl}}}An}{{{d{Ib}}{d{jAl}}}An}{{{d{Of}}{d{jAl}}}An}{{{d{Nf}}{d{jAl}}}An}0{{{d{Hn}}{d{jAl}}}An}{cc{}}00{AjOd}{ObIb}2222{{{d{Ib}}{d{{M`{Ml{Dn{Kd}}}}}}}{{Af{OfNf}}}}{{{d{O`}}{d{jc}}}AbB`}{{{d{Of}}{d{jc}}}AbB`}{{{d{Ob}}}Ml}`{ce{}{}}000000{{{d{Ob}}}Aj}{{{d{Od}}}Aj}{{{d{Of}}}Aj}`{{{d{Of}}{d{Of}}}{{Bd{Ad}}}}{{{d{Ib}}}Aj}`{{{d{O`}}c}AfBh}{{{d{Ob}}c}AfBh}{{{d{Od}}c}AfBh}{{{d{Ib}}c}AfBh}{{{d{Of}}c}AfBh}`{{{d{c}}}e{}{}}00000{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0000000000000{{{d{c}}}Bl{}}000000>>>>>>>``````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{OhCb}{{Af{OjId}}}}{{{Ol{c}}Cb}{{Af{OjId}}}{{On{Fl}}}}{{{A@`{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@b{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@d{c}}Cb}{{Af{OjId}}}{{On{A@f}}}}{{{A@h{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@l{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@n{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AA`{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAb{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAd{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAf{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{{{AAh{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{cc{}}00000000000{ce{}{}}00000000000{{Oj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{c{d{{Gd{I`}}}}Cb}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Id}}}{}}00000000000{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000444444444444```````````````````````````````````````````{{}AAj}{{}Cl}{{DfDh}{{Af{DjDl}}}}{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{{d{{AAl{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}00000{{{d{c}}}{{Af{AbEh}}}Ch}{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}{{{d{{AAn{ce}}}}}{{AAn{ce}}}G`Db}{{{d{Cl}}}Cl}{{{d{AB`}}}AB`}{{{d{{AAl{ce}}}}}{{AAl{ce}}}{G`Ch}{G`Db}}{{{d{Df}}}Df}{{{d{Ln}}}Ln}{{{d{ABb}}}ABb}{{{d{ABd}}}ABd}{{{d{ABf}}}ABf}{{{d{c}}{d{je}}}Ab{}{}}00000000{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Ad{GbCh}{GbDb}}{{{d{Df}}{d{Df}}}Ad}{{{d{ABb}}{d{ABb}}}Ad}{{{d{ABf}}{d{ABf}}}Ad}`{{}AB`}{{{d{{AAn{ce}}}}}{{d{g}}}{}Db{}}{{DfDh}{{Af{DjDl}}}}{c{{Af{Df}}}Ah}{{{d{{AAl{ce}}}}}Hb{CjCh}Db}{{{d{Cl}}{d{Cl}}}Aj}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Aj{HdCh}{HdDb}}{{{d{Df}}{d{Df}}}Aj}{{{d{Ln}}{d{Ln}}}Aj}{{{d{ABb}}{d{ABb}}}Aj}{{{d{ABd}}{d{ABd}}}Aj}{{{d{ABf}}{d{ABf}}}Aj}{{{d{{ABh{c}}}}{d{jAl}}}An{ABjDb}}{{{d{Cl}}{d{jAl}}}An}{{{d{AB`}}{d{jAl}}}An}{{{d{Nh}}{d{jAl}}}An}0{{{d{{AAl{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{Df}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{Ln}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{ABb}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABd}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABf}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{AAl{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{ABl{{ABn{c}}}Db}{cc{}}{AC`{{ABn{c}}}Db}1111{NnNh}2{CfNh}3{DjDf}44444{{DfAAj}{{ABh{c}}}Db}{{LnAAj}{{ABh{c}}}Db}{{{d{Bn}}}{{Af{Df}}}}{{{d{Bn}}}{{Af{Ln}}}}{{{d{Kb}}}{{Af{{AAl{ce}}Cf}}}{ACbCh}Db}{{{d{Df}}}{{Bd{ACd}}}}{{{d{Df}}}{{Dn{ACd}}}}{c{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{{}{{Af{{AAn{ADbc}}e}}}Db{}}{{{d{jc}}}{{Af{{AAn{ADbe}}g}}}{ADdADf}Db{}}{{c{d{je}}}{{Af{{AAn{{ACl{}{{ACf{g}}{ACh{c}}{ACj{i}}}}k}}i}}}{}{ADdADf}{{ACn{{h{f}}}}AD`}ABjDb}{{ce}{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{c{{Af{{AAn{ADbe}}g}}}{}Db{}}{{{d{{ABn{c}}}}}AjDb}{{{d{Df}}}Aj}{{{d{{AAl{ce}}}}{d{jg}}}Ab{KhCh}{KhDb}B`}{{{d{Df}}{d{jc}}}AbB`}{{{d{ABb}}{d{jc}}}AbB`}{{{d{ABf}}{d{jc}}}AbB`}{ce{}{}}00000000000{DfADh}{On{{Af{{ABh{c}}Nh}}}Db}{{A@j{Bd{ADj}}ACd}{{Af{{ABh{c}}Nh}}}Db}{{{AAn{ec}}}{{Af{{ABh{c}}Nh}}}Db{{On{c}}}}{{{AAn{ec}}{Bd{ADj}}ACd}{{Af{{ABh{c}}Nh}}}Db{{A@j{c}}}}{{{ABh{c}}}{{Af{{ABh{c}}Nh}}}Db}{Df{{Af{{ABh{c}}Nh}}}Db}{Ln{{Af{{ABh{c}}Nh}}}Db}{A@j{{Af{{ABn{c}}Nh}}}Db}{{{ABn{c}}}{{Af{{ABn{c}}Nh}}}Db}{{{AAn{ec}}}{{Af{{ABn{c}}Nh}}}Db{{A@j{c}}}}{{{AAn{ce}}}c{}Db}{Df{{Dn{Df}}}}{Ln{{Dn{Ln}}}}{{{ABn{c}}Cb}{{Bd{AC`}}}Db}{{{ABn{c}}Cb{d{{Gd{e}}}}}ABlDbMb}{{{d{Df}}}Aj}{{}Aj}{{{d{Cl}}}Aj}2{{{d{Ln}}}Aj}212133{{{d{{AAl{ce}}}}}KdChDb}``{{{d{{AAl{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{}AAj}{{{d{Df}}}ADl}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}44{{{d{AAj}}{d{AAj}}}AAj}5{{}{{d{Bn}}}}{{Kd{Dn{c}}}{{Af{{AAl{ce}}Cf}}}ChDb}{{{d{Df}}}Kd}``{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{ABh{c}}AAj}{{ABh{c}}}Db}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}{{Bd{Ad}}}{MdCh}{MdDb}}{{{d{Df}}{d{Df}}}{{Bd{Ad}}}}{{{d{ABb}}{d{ABb}}}{{Bd{Ad}}}}{{{d{ABf}}{d{ABf}}}{{Bd{Ad}}}}{{{d{c}}}KdCh}{{{d{{AAl{ce}}}}}{{d{{h{c}}}}}ChDb}{{{d{{AAl{ce}}}}}{{Af{AbCf}}}ChDb}{{{d{{AAl{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}{{{d{{AAl{ce}}}}}KdChDb}{{{d{Df}}c}AfBh}{{}Mj}{{{d{{AAl{ce}}}}}{{D`{ce}}}{CjCh}Db}{{}AAj}{{{d{c}}}e{}{}}00000000{{{d{Ln}}{d{{Gd{c}}}}}{{Af{DfADn}}}Mb}{{{d{c}}}Ml{}}000{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{AAl{ce}}}}{d{jk}}}{{Af{{AAl{ge}}{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000{ce{}{}}00000000000`{{{d{AE`}}}{{Bd{AEb}}}}{{{d{AE`}}}{{Bd{AEd}}}}{{{d{AE`}}Kd}{{Bd{Bj}}}}`````````````````````{{AEfAEf}AEf}{{{d{jAEh}}bAEj{AEn{AEl}}}Ab}`{{{d{AEh}}}{{M`{b{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}}}{{{d{jAEh}}{d{AFf}}Dh}{{Af{AbAFh}}}}{{{d{jAEh}}{d{AFf}}DhAFj}{{Af{AbAFl}}}}{{{d{jAEh}}c}Ab{{AG`{}{{AF`{{Ij{{d{AFn}}H`}}}}}}}}{{{d{jAEh}}c}{{Af{AbAFh}}}{{AGd{AGb}}}}{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{AEh}}}AEf}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{jc}}}{{d{je}}}{}{}}0000000{{{d{jAEh}}AGj}{{Af{{AGn{AGl}}AH`}}}}{{{d{jAEh}}}{{AGn{AGl}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEbAHb}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEdAHb}}}}{{{d{jAEh}}{d{AFn}}}Ab}``{{{d{AEh}}}AHd}{{{d{AEf}}}AEf}{{{d{AGb}}}AGb}{{{d{c}}{d{je}}}Ab{}{}}0``{{}AEf}{{}AGb}{{{d{AHf}}}{{d{c}}}{}}{{{d{AEh}}b}{{Bd{Dh}}}}{{{d{AEh}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{AEh}}b}Ml}{c{{Af{AEf}}}Ah}{{{d{AEf}}{d{AEf}}}Aj}{{{d{AHf}}{d{AHf}}}Aj}``{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}{{{d{AEf}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AEh}}{d{jAl}}}An}{{{d{AGb}}{d{jAl}}}An}{{{d{AHf}}{d{jAl}}}An}0{{{d{AHn}}{d{jAl}}}An}0{{{d{AI`}}{d{jAl}}}An}0{{{d{AIb}}{d{jAl}}}An}0{{{d{AId}}{d{jAl}}}An}0{cc{}}0{{{AIf{b}}}AGb}{AIhAGb}222222{{{d{AEh}}b}{{d{Kl}}}}{{{d{AEh}}l{Bd{AIj}}Aj}{{Af{AIlAIn}}}}{{{d{AEh}}b}{{AEn{Hl}}}}{{{d{AEh}}AGj}{{Bd{{AJ`{{AEn{AFn}}AGf}}}}}}{{{d{AEh}}Bb}{{Bd{l}}}}````{{{d{jAEh}}AFj}{{Af{AjAJb}}}}{{{d{jAEh}}AFn}Aj}{{{d{jAEh}}BbBj}Ab}{ce{}{}}0000000{{{d{AJd}}{d{If}}}Aj}{{{d{AEh}}{d{If}}}Aj}`{{{d{AEh}}}{{`{{AFd{}{{AF`{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{AEh}}}AJf}{{{d{AEh}}}{{`{{AFd{}{{AF`{l}}}}}}}}0{{{d{AEh}}b}{{`{{AJh{}{{AF`{AHf}}}}}}}}{AJj{{Af{AEhAI`}}}}{{{d{AEh}}}{{d{AJl}}}}{{{d{jAEh}}bDh}Aj}{{{d{AEh}}}Cb}`{{ccCb}{{Af{AEhAHn}}}Kj}{{cc{Bd{AJj}}Cb}{{Af{AEhAIb}}}Kj}{{cc{Bd{AJj}}CbAJn}{{Af{AEhAIb}}}Kj}{{ccCbAJn}{{Af{AEhAHn}}}Kj}{{{d{AEh}}b}Dh}{{{d{jAEh}}b}AHf}{{{d{AEh}}bDh}AHf}{{{d{AEh}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{AEh}}b}{{d{Kl}}}}{{{d{jAEh}}bDh}{{`{{AFd{}{{AF`{AHf}}}}}}}}4{{{d{AEh}}}{{d{{Gd{I`}}}}}}{{{d{AEh}}{d{AFn}}}{{Ij{AEbAEb}}}}{{{d{AEf}}c}AfBh}{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}`{{{d{AEh}}}{{d{{AK`{b}}}}}}{{{d{AEh}}}{{Bd{{d{AJj}}}}}}{{{d{AEh}}}{{AKb{b}}}}{{{d{AEh}}}AKd}{{{d{jAEh}}}{{Bd{AJj}}}}{{{d{c}}}e{}{}}0{{{d{c}}}Ml{}}00000{{{d{AEf}}}AEb}{{{d{AEh}}}{{`{{AFd{}{{AF`{{AJ`{{AEn{AFn}}AGf}}}}}}}}}}`1{c{{Af{e}}}{}{}}000000000000000`{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{c}}}Bl{}}0000000{{{d{AEh}}b}{{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}{{{d{AEh}}}{{`{{AFd{}{{AF`{{AKf{{AEn{AFn}}AGf}}}}}}}}}}{{{d{jAEh}}bDh}Aj}`{ce{}{}}0000000{{c{Bd{c}}Cb{d{{Gd{I`}}}}}{{Af{MlId}}}Kj}`````````````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{AKh}}}AKh}{{{d{AKj}}}AKj}{{{d{AKl}}}AKl}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AKn}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKh}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKj}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKl}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{AL`ALb}}}}{{H`AEd{d{If}}}ALd}{{}AKh}{{}AKj}{{}AKl}``{{{d{ALb}}{d{jAl}}}An}0{{{d{ALd}}{d{jAl}}}An}{{{d{AL`}}{d{jAl}}}An}{{{d{AKh}}{d{jAl}}}An}{{{d{AKj}}{d{jAl}}}An}{{{d{AKl}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{AL`}}}H`}{H`AKl}`1{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}00000000000{{{d{c}}}Bl{}}00000666666`````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{jc}}}{{d{je}}}{}{}}00{{{d{ALf}}}ALf}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALf}}{d{jAl}}}An}0{{{d{AIn}}{d{jAl}}}An}0{{{d{AH`}}{d{jAl}}}An}0>>{ALhAIn}{ALbAIn}{NfAIn}{ALfAIn}{IdAIn}{cc{}}{ce{}{}}00{{{d{c}}}e{}{}}{{{d{c}}}Ml{}}00{c{{Af{e}}}{}{}}00000{{{d{c}}}Bl{}}00444``````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{ALj}}}{{Bd{Ml}}}}{{{d{ALj}}}Ml}{c{{Af{ALj}}}Ah}{{{d{AEh}}{d{Bn}}Aj}{{Af{ALj{d{Bn}}}}}}{{{d{ALj}}{d{jAl}}}An}0<{{{d{Bn}}}{{Af{ALjc}}}{}}<``{{{d{ALj}}c}AfBh};::9=````````````````````````````````````{{{d{jHl}}ALlAEj{AEn{AEl}}}{{Bd{{AEn{AEl}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{ALl}}}ALl}{{{d{ALn}}}ALn}{{{d{{AM`{c}}}}}{{AM`{c}}}{G`AMbABjG`}}{{{d{AEj}}}AEj}{{{d{Hl}}}Hl}{{{d{AHj}}}AHj}{{{d{AMd}}}AMd}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{ALl}}{d{ALl}}}Ad}{{{d{AEj}}{d{AEj}}}Ad}{{}AEj}{{}Hl}{{}AHj}{{}AMd}{{{d{{AM`{c}}}}}{{d{e}}}{AMbABjG`}{}}{{{d{AMf}}}{{Bd{Ln}}}}{{{d{{AM`{{AMh{AC`}}}}}}}{{Bd{Ln}}}}{{{d{{AM`{AMj}}}}}{{Bd{Ln}}}}{{{d{{AM`{{AMl{AC`}}}}}}}{{Bd{Ln}}}}{{{d{ALl}}{d{ALl}}}Aj}{{{d{ALn}}{d{ALn}}}Aj}{{{d{AEj}}{d{AEj}}}Aj}{{{d{AMd}}{d{AMd}}}Aj}{{{d{Hl}}ALl}{{Bd{{d{{AEn{AEl}}}}}}}}{{{d{ALl}}{d{jAl}}}An}{{{d{AHl}}{d{jAl}}}An}0{{{d{ALn}}{d{jAl}}}An}{{{d{{AM`{c}}}}{d{jAl}}}An{ABjAMbABjG`}}{{{d{AEj}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AHj}}{d{jAl}}}An}{{{d{AMd}}{d{jAl}}}An}{FhALl}{ADlALl}{cc{}}0000000{{{d{ALl}}{d{jc}}}AbB`}{{{d{AMf}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{AMj}}}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{{AMl{AC`}}}}}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{{AMh{AC`}}}}}}{d{{Gd{I`}}}}}ALl}{{{d{Hl}}}{{Dn{{d{ALl}}}}}}{ce{}{}}0000000{{cALn}{{AM`{c}}}{AMbABjG`}}{{}Hl}{{{d{ALl}}{d{ALl}}}{{Bd{Ad}}}}{{{d{AEj}}{d{AEj}}}{{Bd{Ad}}}}{{{d{jHl}}ALlAEj}{{Bd{{AEn{AEl}}}}}}{{{d{AMn}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AM`{{AMl{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AM`{{AMh{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AM`{AMj}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{AEl}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{c}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEn{AEl}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Ml{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000````````````````{{{d{j{AGn{c}}}}{d{e}}}{{d{j{AGn{c}}}}}{}{{ANb{AN`}}}}{{{d{j{AGn{c}}}}BbAIlLh}{{Af{{d{j{AGn{c}}}}ANd}}}{}}{{{d{j{AGn{c}}}}BbAIlLhBf}{{Af{{d{j{AGn{c}}}}ANd}}}{}}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}HbAEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{Af{{d{j{AGn{c}}}}ANf}}}{}}{{{d{j{AGn{c}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGn{c}}}}ANf}}}{}}{{{d{j{AGn{c}}}}Aj}{{d{j{AGn{c}}}}}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000{{{d{j{AGn{c}}}}ANh}{{d{j{AGn{c}}}}}{}}{{{d{{AGn{c}}}}}{{AGn{c}}}G`}{{{d{ANj}}}ANj}{{{d{ANh}}}ANh}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{ANh}}{d{ANh}}}Ad}{{{AGn{c}}e}{{AGn{e}}}{}AKn}{{{d{j{AGn{c}}}}Dh}{{d{j{AGn{c}}}}}{}}{{}ANj}{{}ANh}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Hb}{{d{j{AGn{c}}}}}{}}11{{{d{j{AGn{c}}}}Bf}{{d{j{AGn{c}}}}}{}}{{{d{ANh}}{d{ANh}}}Aj}{{{d{j{AGn{c}}}}AEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AEd}{{d{j{AGn{c}}}}}{}}{{{AGn{c}}}{{Af{AHhAIn}}}AKn}{{{AGn{c}}{d{je}}}{{Af{AHhAIn}}}AKnADf}{{{d{{AGn{c}}}}{d{jAl}}}AnABj}{{{d{ANf}}{d{jAl}}}An}0{{{d{ANd}}{d{jAl}}}An}0{{{d{ANj}}{d{jAl}}}An}{{{d{ANh}}{d{jAl}}}An}{cc{}}0000{{{d{ANh}}{d{jc}}}AbB`}>{ce{}{}}0000?{{{d{j{AGn{c}}}}ANl}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}0{{{d{j{AGn{c}}}}ANj}{{d{j{AGn{c}}}}}{}}{{{d{ANh}}{d{ANh}}}{{Bd{Ad}}}}{{{d{j{AGn{c}}}}{M`{Ml{Dn{Kd}}}}b}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}{Dn{{Ij{HbAEb}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AIj}{{d{j{AGn{c}}}}}{}}{{{d{ANj}}{d{jAFn}}}Ab}{{{d{ANj}}{d{jAFn}}{d{jc}}}AbADf}{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}0{c{{Af{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000{{{d{j{AGn{c}}}}{Dn{Bb}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}ANn}{{d{j{AGn{c}}}}}{}}?????````","D":"FGd","p":[[6,"KeychainKind",0,1703],[1,"reference"],[1,"u8"],[1,"slice"],[0,"mut"],[5,"LocalOutput",0,1703],[5,"WeightedUtxo",0,1703],[6,"Utxo",0,1703],[1,"unit"],[6,"Ordering",1704],[6,"Result",1705],[10,"Deserializer",1706],[1,"bool"],[5,"Formatter",1707],[8,"Result",1707],[10,"Hasher",1708],[5,"OutPoint",1709],[6,"Option",1710],[5,"Sequence",1709],[10,"Serializer",1711],[5,"TxOut",1709],[5,"TypeId",1712],[1,"str"],[6,"Descriptor",100,1713],[6,"Network",1714],[5,"Address",1715],[6,"Error",1716],[10,"MiniscriptKey",1716],[10,"ToPublicKey",1716],[6,"ScriptContextEnum",693],[5,"Miniscript",100,1717],[6,"Terminal",1718],[10,"ScriptContext",693,1719],[6,"Tree",1720],[6,"DescriptorPublicKey",693,1721],[1,"u32"],[5,"DefiniteDescriptorKey",1721],[6,"ConversionError",1721],[5,"Vec",1722],[6,"Placeholder",1723],[5,"Satisfaction",1723],[10,"AssetProvider",1724],[17,"Key"],[6,"ScriptContextError",1719],[17,"Sha256"],[5,"Hash",1725],[17,"Hash256"],[5,"Hash",1726],[17,"Ripemd160"],[5,"Hash",1727],[17,"Hash160"],[5,"Hash",1728],[10,"ParseableKey",1718],[6,"Legacy",100,1719],[6,"Segwitv0",100,1719],[10,"Clone",1729],[10,"Ord",1704],[5,"Secp256k1",1730],[5,"PublicKey",1731],[10,"Verification",1732],[6,"DescriptorType",1713],[5,"DescriptorId",1733],[10,"FromStrKey",1734],[1,"u64"],[5,"ScriptBuf",1735],[10,"PartialEq",1704],[5,"ExtParams",1736],[6,"AnalysisError",1736],[10,"ExtractPolicy",100],[5,"SignersContainer",1408],[6,"BuildSatisfaction",386],[6,"All",1737],[5,"Policy",386],[6,"Error",354],[5,"Script",1738],[5,"Range",1739],[1,"tuple"],[5,"Error",1707],[17,"Output"],[10,"FnMut",1740],[5,"Pkh",1741],[5,"Wpkh",1742],[5,"Tr",1743],[5,"Sh",1744],[5,"Bare",1741],[5,"Wsh",1742],[5,"Type",1745],[5,"ExtData",1746],[5,"Tree",1747],[1,"usize"],[10,"Satisfier",1723],[10,"Hash",1708],[10,"IntoWalletDescriptor",100],[8,"ExtendedDescriptor",100],[8,"KeyMap",693,1713],[5,"Iter",1748],[5,"PkIter",1748],[6,"Policy",1749],[6,"LiftError",1750],[5,"Weight",1751],[6,"BareCtx",1719],[6,"TapTree",1743],[6,"DescriptorSecretKey",693,1721],[5,"BTreeMap",1752],[10,"Signing",1732],[10,"PartialOrd",1704],[5,"Plan",1724],[5,"TxIn",1709],[6,"SigType",1719],[5,"String",1753],[6,"TranslateErr",1716],[10,"Translator",1716],[1,"array"],[6,"HexToBytesError",1754],[6,"PolicyError",386],[6,"KeyError",693],[6,"Error",1755],[6,"ParsePublicKeyError",1731],[6,"Error",1756],[6,"PkOrF",386],[6,"SatisfiableItem",386],[6,"Satisfaction",386],[5,"Condition",386],[10,"DescriptorTemplate",557],[8,"DescriptorTemplateOut",557],[5,"P2Pkh",557],[10,"IntoDescriptorKey",693],[5,"P2Wpkh_P2Sh",557],[5,"P2Wpkh",557],[5,"P2TR",557],[6,"Tap",1719],[5,"Bip44",557],[10,"DerivableKey",693],[5,"Bip44Public",557],[5,"Bip49",557],[5,"Bip49Public",557],[5,"Bip84",557],[5,"Bip84Public",557],[5,"Bip86",557],[5,"Bip86Public",557],[8,"ValidNetworks",693],[5,"SortedMultiVec",693,1757],[5,"GeneratedKey",693],[5,"PrivateKeyGenerateOptions",693],[5,"SinglePub",693,1721],[5,"SinglePriv",693,1721],[6,"SinglePubKey",693,1721],[6,"DescriptorKey",693],[10,"Debug",1707],[5,"Xpub",1756],[6,"ExtendedKey",693],[5,"Xpriv",1756],[10,"FromStr",1758],[5,"DerivationPath",1756],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",693],[10,"AsMut",1759],[10,"Default",1760],[10,"GeneratableDefaultOptions",693],[10,"CryptoRng",1761],[10,"RngCore",1761],[5,"Assets",1724],[8,"KeySource",1756],[5,"Fingerprint",1756],[5,"DescriptorKeyParseError",1721],[10,"PsbtUtils",994],[5,"Amount",1762],[5,"FeeRate",1763],[5,"Balance",998,1764],[5,"Wallet",998],[5,"SignerOrdering",1408],[10,"TransactionSigner",1408],[5,"Arc",1765],[17,"Item"],[8,"Indexed",1766],[10,"Iterator",1767],[5,"Block",1768],[5,"CannotConnectError",1769],[5,"BlockId",1770],[6,"ApplyHeaderError",1769],[5,"Transaction",1709],[10,"IntoIterator",1771],[5,"Update",998],[10,"Into",1759],[5,"ConfirmationTimeHeightAnchor",1770],[5,"TxGraph",1772],[5,"Txid",1709],[8,"DefaultCoinSelectionAlgorithm",1209],[5,"TxBuilder",1586],[6,"BuildFeeBumpError",1308],[6,"CalculateFeeError",1772],[5,"CheckPointIter",1769],[5,"AddressInfo",998],[5,"Psbt",1773],[5,"SignOptions",1408],[6,"SignerError",1408],[6,"NewError",998],[6,"LoadError",998],[6,"NewOrLoadError",998],[6,"ApplyBlockError",998],[5,"FullScanResult",1774],[5,"SyncResult",1774],[5,"PsbtSighashType",1775],[5,"Input",1775],[6,"CreateTxError",1308],[5,"CanonicalTx",1772],[5,"AlterCheckPointError",1769],[10,"IsDust",998,1776],[5,"CheckPoint",1769],[10,"DoubleEndedIterator",1777],[8,"ChangeSet",998],[5,"LocalChain",1769],[5,"BlockHash",1768],[5,"KeychainTxOutIndex",1778],[5,"FullScanRequest",1774],[5,"SyncRequest",1774],[5,"TxNode",1772],[5,"LargestFirstCoinSelection",1209],[5,"OldestFirstCoinSelection",1209],[5,"BranchAndBoundCoinSelection",1209],[10,"CoinSelectionAlgorithm",1209],[5,"CoinSelectionResult",1209],[6,"Error",1209],[6,"Excess",1209],[6,"MiniscriptPsbtError",1308],[6,"Error",1779],[5,"FullyNodedExport",1385],[6,"SignerId",1408],[6,"SignerContext",1408],[5,"SignerWrapper",1408],[10,"Sized",1780],[6,"TapLeavesOptions",1408],[10,"SignerCommon",1408],[5,"DescriptorXKey",1721],[5,"PrivateKey",1731],[5,"DescriptorMultiXKey",1721],[10,"InputSigner",1408],[5,"PushBytes",1781],[10,"AsRef",1759],[6,"AddForeignUtxoError",1586],[6,"AddUtxoError",1586],[6,"ChangeSpendPolicy",1586],[6,"TxOrdering",1586],[6,"LockTime",1782],[1,"i32"],[15,"Foreign",97],[8,"DerivedDescriptor",100],[15,"PsbtTimelocks",533],[15,"Complete",536],[15,"Partial",536],[15,"PartialComplete",536],[15,"Sha256Preimage",547],[15,"Hash256Preimage",547],[15,"Ripemd160Preimage",547],[15,"Hash160Preimage",547],[15,"Thresh",547],[15,"Multisig",547],[15,"AbsoluteTimelock",547],[15,"RelativeTimelock",547],[10,"ExtScriptContext",693],[15,"UnexpectedConnectedToHash",1201],[15,"LoadedGenesisDoesNotMatch",1203],[15,"LoadedNetworkDoesNotMatch",1203],[15,"LoadedDescriptorDoesNotMatch",1203],[15,"InsufficientFunds",1301],[15,"Change",1303],[15,"NoChange",1303],[15,"RbfSequenceCsv",1379],[15,"LockTime",1379],[15,"FeeTooLow",1379],[15,"FeeRateTooLow",1379],[8,"WalletExport",1385],[15,"Tap",1585],[15,"InvalidTxid",1699],[15,"Custom",1701]],"r":[[2,100],[4,1703],[6,1703],[7,1408],[8,1586],[9,1703],[10,998],[11,1703],[70,998],[71,100],[104,1713],[106,1721],[113,1719],[114,1717],[119,386],[120,1719],[121,1719],[155,352],[696,1721],[697,1721],[712,1713],[722,1719],[727,1721],[728,1721],[729,1721],[730,1757],[1000,1764],[1006,1776]],"b":[[193,"impl-Descriptor%3CDescriptorPublicKey%3E"],[194,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[213,"impl-Display-for-Descriptor%3CPk%3E"],[214,"impl-Debug-for-Descriptor%3CPk%3E"],[217,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[218,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[221,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[222,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[223,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[224,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[227,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[370,"impl-Debug-for-Error"],[371,"impl-Display-for-Error"],[372,"impl-From%3CHexToBytesError%3E-for-Error"],[373,"impl-From%3CError%3E-for-Error"],[374,"impl-From%3CPolicyError%3E-for-Error"],[375,"impl-From%3CKeyError%3E-for-Error"],[376,"impl-From%3CError%3E-for-Error"],[377,"impl-From%3CParsePublicKeyError%3E-for-Error"],[378,"impl-From%3CError%3E-for-Error"],[461,"impl-Debug-for-PolicyError"],[462,"impl-Display-for-PolicyError"],[811,"impl-Display-for-KeyError"],[812,"impl-Debug-for-KeyError"],[813,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[814,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[815,"impl-Display-for-DescriptorPublicKey"],[816,"impl-Debug-for-DescriptorPublicKey"],[817,"impl-Debug-for-DescriptorSecretKey"],[818,"impl-Display-for-DescriptorSecretKey"],[823,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[825,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[830,"impl-From%3CError%3E-for-KeyError"],[832,"impl-From%3CError%3E-for-KeyError"],[874,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[875,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1071,"impl-Display-for-Balance"],[1072,"impl-Debug-for-Balance"],[1075,"impl-Debug-for-AddressInfo"],[1076,"impl-Display-for-AddressInfo"],[1077,"impl-Debug-for-NewError"],[1078,"impl-Display-for-NewError"],[1079,"impl-Display-for-LoadError"],[1080,"impl-Debug-for-LoadError"],[1081,"impl-Debug-for-NewOrLoadError"],[1082,"impl-Display-for-NewOrLoadError"],[1083,"impl-Display-for-ApplyBlockError"],[1084,"impl-Debug-for-ApplyBlockError"],[1087,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1088,"impl-From%3CSyncResult%3E-for-Update"],[1250,"impl-Display-for-Error"],[1251,"impl-Debug-for-Error"],[1346,"impl-Display-for-MiniscriptPsbtError"],[1347,"impl-Debug-for-MiniscriptPsbtError"],[1348,"impl-Display-for-CreateTxError"],[1349,"impl-Debug-for-CreateTxError"],[1350,"impl-Debug-for-BuildFeeBumpError"],[1351,"impl-Display-for-BuildFeeBumpError"],[1354,"impl-From%3CError%3E-for-CreateTxError"],[1355,"impl-From%3CError%3E-for-CreateTxError"],[1356,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1357,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1358,"impl-From%3CError%3E-for-CreateTxError"],[1395,"impl-Display-for-FullyNodedExport"],[1396,"impl-Debug-for-FullyNodedExport"],[1488,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1489,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1490,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1497,"impl-Debug-for-SignerError"],[1498,"impl-Display-for-SignerError"],[1505,"impl-From%3CHash%3E-for-SignerId"],[1506,"impl-From%3CFingerprint%3E-for-SignerId"],[1517,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1518,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1519,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1535,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1536,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1537,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1643,"impl-Debug-for-AddUtxoError"],[1644,"impl-Display-for-AddUtxoError"],[1645,"impl-Display-for-AddForeignUtxoError"],[1646,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAMEAAwEPAR8DeANrBQ==","e":"OzAAAAEAAG0DfAADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB4AAAAjAABAI8AAACRAAcAnAAAAJ4AAQChAAAApAABAKcAAQCrAAEArgABALEAAQC0AAsAxQADAMoAAwDTAAEA1gAMAOQAAADqAAAA9wADAAIBAAAIAQEADAEBABMBAQApAQMALgEBADwBAQA/AQEAQwEFAE4BBwBXAQMAXAEDAHEBCgB+AQQApgEZAMIBDgDUAQEA2wEBAOoBAADtAQQA8wEiADwCFwBVAgsAeQI8AOQCFwAGAxUAHQMBACADAAAiAxYAOgMAAD8DAABBAwAAQwMAAEsDAQBYAwMAaAMAAGsDBABxAwEAgQMBAIYDAACQAwAAlQMDAJ4DAACiAwgArAMDALMDLwD8AwAABAQAAAYEDwAeBAMAJAQCACoEAgAwBA0AQAQBAHcEAAB/BAcAiwQPAJ0EBwCpBAcAxwQRANoEAgDeBAIA4wQGAPoEGwA7BQ0ASwUEAFQFDwBuBQEAcgUAAHQFAQB3BQAAewUFAKoFDwC7BRQA0QUGANkFCgDsBQAA7gUCAPwFAQAABgIABAYAAAgGBwASBh8ASwYJAFYGBgBfBgEAZgYAAGsGBgB3BgAAgwYAAIkGEwCfBgQA"}],\
["example_bitcoind_rpc_polling",{"t":"PSISSSGPSPFGSPPNNNNHNNNNNNNNNNONNNNNNNNNNNNNNHNOOOHNNNNNNNNNNNNNNNONNNOO","n":["Block","CHANNEL_BOUND","ChangeSet","DB_COMMIT_DELAY","DB_MAGIC","DB_PATH","Emission","Live","MEMPOOL_EMIT_DELAY","Mempool","RpcArgs","RpcCommands","STDOUT_PRINT_DELAY","Sync","Tip","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","await_flag","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fallback_height","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","main","new_client","rpc_cookie","rpc_password","rpc_user","start_ctrlc_handler","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","url","vzip","vzip","vzip","rpc_args","rpc_args"],"q":[[0,"example_bitcoind_rpc_polling"],[70,"example_bitcoind_rpc_polling::RpcCommands"],[72,"clap::builder::command"],[73,"core::sync::atomic"],[74,"core::time"],[75,"core::fmt"],[76,"clap::parser::matches::arg_matches"],[77,"clap::error"],[78,"core::result"],[79,"anyhow"],[80,"bitcoincore_rpc::client"],[81,"alloc::sync"],[82,"core::any"]],"i":[10,0,0,0,0,0,0,8,0,10,0,0,0,8,10,7,7,8,8,0,10,7,8,10,7,8,7,8,7,8,7,10,7,8,10,7,8,7,8,7,8,8,10,7,8,0,7,7,7,7,0,7,8,10,7,8,10,7,8,10,7,8,7,8,7,8,7,10,7,8,21,22],"f":"```````````````{bb}000{{{f{d}}h}j}{{{f{c}}}{{f{e}}}{}{}}00{{{f{lc}}}{{f{le}}}{}{}}00{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{le}}}Ab{}{}}0`{{{f{Ad}}{f{lAf}}}Ah}{{{f{n}}{f{lAf}}}Ah}{{{f{A`}}{f{lAf}}}Ah}{cc{}}00{{{f{Aj}}}{{An{nAl}}}}{{{f{Aj}}}{{An{A`Al}}}}{{{f{lAj}}}{{An{nAl}}}}{{{f{lAj}}}{{An{A`Al}}}}{{{f{B`}}}j}{ce{}{}}00{{}{{Bb{Ab}}}}{{{f{n}}}{{Bb{Bd}}}}```{{}{{Bf{d}}}}{{{f{c}}}e{}{}}0{c{{An{e}}}{}{}}00000{{{f{c}}}Bh{}}00{{{f{ln}}{f{Aj}}}{{An{AbAl}}}}{{{f{lA`}}{f{Aj}}}{{An{AbAl}}}}{{{f{ln}}{f{lAj}}}{{An{AbAl}}}}{{{f{lA`}}{f{lAj}}}{{An{AbAl}}}}`:::``","D":"Bb","p":[[8,"Command",72],[5,"AtomicBool",73],[1,"reference"],[5,"Duration",74],[1,"bool"],[0,"mut"],[5,"RpcArgs",0],[6,"RpcCommands",0],[1,"unit"],[6,"Emission",0],[5,"Formatter",75],[8,"Result",75],[5,"ArgMatches",76],[5,"Error",77],[6,"Result",78],[1,"str"],[8,"Result",79],[5,"Client",80],[5,"Arc",81],[5,"TypeId",82],[15,"Sync",70],[15,"Live",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcACgAAAAEAAwAAAAUAAgAKAAIADwAPACAAAgAmAAQALgABADMADwBEAAQA"}],\
["example_cli",{"t":"PGFPPPGGFPPFPGIIPPPPPPPIPPPGEONNNNNNNNENNNNNNNNNNNNNNNNOOENNNNNNNNNNNOOHOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNOOOOHONNNNNNNNNNOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","CoinSelectionAlgo","Commands","CreateTxChange","External","Index","Init","Internal","Keychain","KeychainChangeSet","KeychainTxGraph","LargestFirst","List","List","New","NewestFirst","Next","OldestFirst","PlannedUtxo","Send","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","bdk_file_store","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","cp_limit","create_tx","db","db_path","default","descriptor","deserialize","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","handle_commands","has_subcommand","has_subcommand","has_subcommand","index","index","index","index_changeset","init","init_changeset","into","into","into","into","into","into","into","into","into_app","into_app_for_update","keymap","network","partial_cmp","planned_utxos","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","address","chain_specific","coin_select","txout_cmd","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[176,"example_cli::AddressCmd"],[177,"example_cli::Commands"],[183,"example_cli::TxOutCmd"],[187,"clap::builder::command"],[188,"core::clone"],[189,"clap::derive"],[190,"core::cmp"],[191,"miniscript::descriptor::key"],[192,"alloc::collections::btree::map"],[193,"bitcoin::address"],[194,"bitcoin::blockdata::transaction"],[195,"core::option"],[196,"anyhow"],[197,"bdk_chain::tx_data_traits"],[198,"bdk_chain::chain_oracle"],[199,"core::result"],[200,"serde::de"],[201,"core::fmt"],[202,"clap::parser::matches::arg_matches"],[203,"clap::error"],[204,"std::sync::mutex"],[205,"bdk_file_store::store"],[206,"bitcoin::network"],[207,"core::default"],[208,"serde::ser"],[209,"core::convert"],[210,"core::marker"],[211,"core::ops::function"],[212,"bdk_tmp_plan"],[213,"alloc::vec"],[214,"alloc::string"],[215,"core::any"]],"i":[4,0,0,4,8,4,0,0,0,11,9,0,11,0,0,0,8,9,10,9,8,9,8,0,4,8,4,0,0,52,34,34,4,9,10,4,9,10,0,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,34,21,0,4,8,9,10,11,4,8,9,10,11,11,34,34,0,52,34,8,34,11,11,11,11,4,8,8,9,10,11,11,21,52,34,4,8,9,10,11,34,4,9,10,34,4,9,10,8,0,4,9,10,14,21,52,21,0,52,21,52,34,4,8,9,10,11,34,34,52,34,11,0,11,4,8,9,10,11,8,11,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,34,4,9,10,34,4,9,10,21,52,34,4,8,9,10,11,60,61,62,62,62,63,62,64,64,64,64],"f":"``````````````````````````````{bb}0000000`{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{fc}}}{{d{fe}}}{}{}}0000000```{{{d{{h{ce}}}}}{{h{ce}}}{jl}{jn}}{{{d{A`}}}A`}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{Af}}}Af}{{{d{c}}{d{fe}}}Ah{}{}}0000{{{d{Af}}{d{Af}}}Aj}``{{{d{f{Al{c}}}}{d{e}}{d{{Bb{AnB`}}}}A`BdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}CbCd}``{{}A`}`{c{{Cf{Af}}}Ch}{{{d{Af}}{d{Af}}}Cj}{{{d{c}}{d{e}}}Cj{}{}}0{{{d{{h{ce}}}}{d{fCl}}}Cn{D`l}{D`n}}{{{d{A`}}{d{fCl}}}Cn}0{{{d{Ab}}{d{fCl}}}Cn}{{{d{Ad}}{d{fCl}}}Cn}{{{d{Af}}{d{fCl}}}Cn}0{cc{}}0000000{{{d{Db}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{Db}}}{{Cf{{h{ce}}Df}}}ln}{{{d{Db}}}{{Cf{AbDf}}}}{{{d{Db}}}{{Cf{AdDf}}}}{{{d{fDb}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{{h{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{AbDf}}}}{{{d{fDb}}}{{Cf{AdDf}}}}{{{d{Dh}}}{{Cf{A`c}}}{}}{{{d{{Dj{{Al{c}}}}}}{d{{Dj{{Dl{e}}}}}}{d{{Dj{g}}}}{d{{Bb{AnB`}}}}Dnk{h{mi}}}{{C`{Ah}}}Cb{E`EbEdEf{Ej{{Eh{c}}}}ElEnD`}Cdn{{Fb{i{d{Bh}}}{{F`{{C`{Ah}}}}}}}l}{{{d{Dh}}}Cj}00````{{{d{{Ff{Fd}}}}{d{Dh}}}{{C`{{Fh{ceg}}}}}ln{E`EbEfEdD`ElEn}}`{ce{}{}}0000000{{}b}0``{{{d{Af}}{d{Af}}}{{Bl{Aj}}}}{{{d{{Al{c}}}}{d{e}}{d{{Fj{g}}}}}{{Cf{{Fn{{Fl{gc}}}}}}}CbCd{jG`}}{{{d{Af}}c}CfGb}{{{d{c}}}e{}{}}0000{{{d{c}}}Gd{}}0{c{{Cf{e}}}{}{}}000000000000000{{{d{c}}}Gf{}}0000000{{{d{f{Dd{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{Db}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{Db}}}{{Cf{AhDf}}}}{{{d{f{Dd{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{fDb}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{fDb}}}{{Cf{AhDf}}}}{ce{}{}}0000000```````````","D":"E`","p":[[8,"Command",187],[1,"reference"],[0,"mut"],[6,"Commands",0],[10,"Clone",188],[10,"Subcommand",189],[10,"Args",189],[6,"CoinSelectionAlgo",0],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"Keychain",0],[1,"unit"],[6,"Ordering",190],[8,"KeychainTxGraph",0],[6,"DescriptorPublicKey",191],[6,"DescriptorSecretKey",191],[5,"BTreeMap",192],[5,"Address",193],[1,"u64"],[5,"Transaction",194],[5,"CreateTxChange",0],[6,"Option",195],[1,"tuple"],[8,"Result",196],[10,"Anchor",197],[10,"ChainOracle",198],[6,"Result",199],[10,"Deserializer",200],[1,"bool"],[5,"Formatter",201],[8,"Result",201],[10,"Debug",201],[5,"ArgMatches",202],[5,"Args",0],[5,"Error",203],[1,"str"],[5,"Mutex",204],[5,"Store",205],[6,"Network",206],[10,"Default",207],[10,"Append",197],[10,"DeserializeOwned",200],[10,"Serialize",208],[8,"KeychainChangeSet",0],[10,"From",209],[10,"Send",210],[10,"Sync",210],[17,"Output"],[10,"FnOnce",211],[1,"u8"],[1,"slice"],[5,"Init",0],[5,"Assets",212],[8,"PlannedUtxo",0],[5,"Vec",213],[10,"CanDerive",212],[10,"Serializer",208],[5,"String",214],[5,"TypeId",215],[15,"List",176],[15,"Address",177],[15,"Send",177],[15,"TxOut",177],[15,"List",183]],"r":[],"b":[[81,"impl-Display-for-CoinSelectionAlgo"],[82,"impl-Debug-for-CoinSelectionAlgo"],[85,"impl-Debug-for-Keychain"],[86,"impl-Display-for-Keychain"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJMAEQAAAAAAAgABAAUABQANAAQAFQAAABcAAQAaAAAAHAABAB8AKQBKAA0AYAAMAG4AAABwAAAAewABAH4AMgCyAAAAtAACAA=="}],\
["example_electrum",{"t":"ISSFGPFPNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["ChangeSet","DB_MAGIC","DB_PATH","ElectrumArgs","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","electrum_args","electrum_url","eq","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","electrum_args","electrum_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_electrum"],[71,"example_electrum::ElectrumCommands"],[80,"clap::builder::command"],[81,"bitcoin::network"],[82,"electrum_client::client"],[83,"anyhow"],[84,"core::fmt"],[85,"clap::parser::matches::arg_matches"],[86,"clap::error"],[87,"core::result"],[88,"core::any"]],"i":[0,0,0,0,0,8,0,8,4,9,4,9,8,8,9,8,4,9,8,4,9,4,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"````````{bb}00000`{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{A`}}}h}`{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",80],[1,"reference"],[0,"mut"],[5,"ElectrumArgs",0],[6,"Network",81],[5,"Client",82],[8,"Result",83],[6,"ElectrumCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",84],[8,"Result",84],[5,"ArgMatches",85],[5,"Error",86],[6,"Result",87],[1,"str"],[5,"TypeId",88],[15,"Sync",71],[15,"Scan",71]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEEACAAAAAUABwAAAAkABQAQAA0AHwADACYABgAwABcASQADAA=="}],\
-searchState.loadedDescShard("bdk_chain", 0, "This crate is a collection of core structures for Bitcoin …\nTrait that “anchors” blockchain data to a specific …\nAn <code>Anchor</code> that can be constructed from a given block, …\nTrait that makes an object appendable.\nMaximum BIP32 derivation index.\nA reference to a block in the canonical chain.\nHow many confirmations are needed f or a coinbase output …\nRepresents a service that tracks the blockchain.\nRepresents the observed position of some chain data.\nA changeset containing <code>crate</code> structures typically …\nAn <code>Anchor</code> implementation that also records the exact …\nBlock height and timestamp at which a transaction is …\nAn <code>Anchor</code> implementation that also records the exact …\nThe chain data is seen as confirmed, and in anchored by <code>A</code>.\nThe transaction is confirmed\nA trait to extend the functionality of a miniscript …\nRepresents the unique ID of a descriptor.\nError type.\nA <code>TxOut</code> with as much data as we can retrieve about it\nAn iterator for derived script pubkeys.\nAn index storing <code>TxOut</code>s that have a script pubkey that …\nThe chain data is not confirmed and last seen in the …\nThe transaction is unconfirmed\nThe script pubkeys that are being tracked by the index.\nReturns the <code>BlockId</code> that the associated blockchain data is …\nThe anchor block.\nThe anchor block.\nAppend another object of the same type onto <code>self</code>.\nReturns a reference to the inner hash (sha256, sh256d …\nChanges to the <code>LocalChain</code>.\nThe position of the transaction in <code>outpoint</code> in the overall …\nMaps a <code>ChainPosition<&A></code> into a <code>ChainPosition<A></code> by …\nThe exact confirmation height of the transaction.\nThe confirmation height of the transaction being anchored.\nGet the upper bound of the chain data’s confirmation …\nGet the upper bound of the chain data’s confirmation …\nDetermines the upper bound of the confirmation height.\nThe confirmation time of the transaction being anchored.\nGet a reference to the internal descriptor.\nReturns the descriptor ID, calculated as the sha256 hash …\nReturns the minimum value (in satoshis) at which an output …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct the anchor from a given <code>block</code>, block height and …\nCreates this wrapper type from the inner hash type.\nGet the best chain’s chain tip.\nThe hash of the block.\nThe height of the block.\nReturns the index associated with the script pubkey.\nContains the <code>IndexedTxGraph</code> and associated types. Refer to …\nChanges to <code>IndexedTxGraph</code>.\nAdds a script pubkey to scan for. Returns <code>false</code> and does …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nDetermines whether <code>block</code> of <code>BlockId</code> exists as an ancestor …\nReturns whether <code>ChainPosition</code> is confirmed or not.\nReturns whether <code>ConfirmationTime</code> is the confirmed variant.\nWhether the utxo is/was/will be spendable with chain <code>tip</code>.\nReturns whether the structure is considered empty.\nWhether the <code>txout</code> is considered mature.\nWhether this output is on a coinbase transaction.\nWhether any of the inputs of this transaction spend a …\nReturns whether the script pubkey at <code>index</code> has been used …\nModule for keychain related structures.\nThe <code>LocalChain</code> is a local implementation of <code>ChainOracle</code>.\nMarks the script pubkey at <code>index</code> as used even though it …\nComputes the net value transfer effect of <code>tx</code> on the script …\nStores the network type of the transaction data.\nCreate a new script pubkey iterator from <code>descriptor</code>.\nCreate a new script pubkey iterator from <code>descriptor</code> and a …\nThe location of the <code>TxOut</code>.\nGet a reference to the set of indexed outpoints.\nIterates over all the outputs with script pubkeys in an …\nScans a transaction’s outputs for matching script …\nScan a single <code>TxOut</code> for a matching script pubkey and …\nComputes the total value transfer effect <code>tx</code> has on the …\nThe txid and chain position of the transaction (if any) …\nReturns the script that has been inserted at the <code>index</code>.\nHelper types for spk-based blockchain clients.\nTake the value, replacing it with the default value.\nTake the value, replacing it with the default value.\nReturns the inner hash (sha256, sh256d etc.).\nModule for structures that store and traverse transactions.\nReturns the txout and script pubkey index of the <code>TxOut</code> at …\nThe <code>TxOut</code>.\nIterate over all known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nConstruct an unconfirmed variant using the given <code>last_seen</code> …\nUndoes the effect of <code>mark_used</code>. Returns whether the <code>index</code> …\nIterates over all unused script pubkeys in an index range.\nConfirmation height.\nThe last-seen timestamp in unix seconds.\nConfirmation time in unix seconds.\nRepresents changes to an <code>IndexedTxGraph</code>.\nThe resultant “changeset” when new transaction data is …\nThe <code>IndexedTxGraph</code> combines a <code>TxGraph</code> and an <code>Indexer</code> …\nUtilities for indexing transaction data.\nBatch insert all transactions of the given <code>block</code> of <code>height</code>.\nBatch insert all transactions of the given <code>block</code> of <code>height</code>…\nApply changeset to itself.\nApplies the <code>ChangeSet</code> to the <code>IndexedTxGraph</code>.\nApply an <code>update</code> directly.\nBatch insert transactions, filtering out those that are …\nBatch insert unconfirmed transactions, filtering out those …\nBatch insert unconfirmed transactions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a reference of the internal transaction graph.\n<code>TxGraph</code> changeset.\nTransaction index.\nScans a transaction for relevant outpoints, which are …\nScan and index the given <code>outpoint</code> and <code>txout</code>.\n<code>Indexer</code> changeset.\nDetermines the <code>ChangeSet</code> between <code>self</code> and an empty <code>Indexer</code>.\nDetermines the <code>ChangeSet</code> between <code>self</code> and an empty …\nInsert an <code>anchor</code> for a given transaction.\nInsert a unix timestamp of when a transaction is seen in …\nInsert and index a transaction into the graph.\nInsert a floating <code>txout</code> of given <code>outpoint</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nDetermines whether the transaction should be included in …\nConstruct a new <code>IndexedTxGraph</code> with a given <code>index</code>.\nBalance, differentiated into various categories.\nRepresents updates to the derivation index of a …\nThe default lookahead for a <code>KeychainTxOutIndex</code>\nThe descriptor has already been assigned to a keychain so …\nA tuple of keychain index and <code>T</code> representing the indexed …\nError returned from <code>KeychainTxOutIndex::insert_descriptor</code>\nThe keychain is already assigned to a descriptor so you can…\nA tuple of keychain <code>K</code>, derivation index (<code>u32</code>) and a <code>T</code> …\n<code>KeychainTxOutIndex</code> controls how script pubkeys are …\nThe keychain doesn’t exist. Most likley hasn’t been …\nGet unbounded spk iterators for all keychains.\nMerge another <code>ChangeSet<K></code> into self.\nApplies the <code>ChangeSet<K></code> to the <code>KeychainTxOutIndex<K></code>\nConfirmed and immediately spendable balance\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets the descriptor associated with the keychain. Returns …\nAll coinbase outputs not yet matured\nReturns the keychain and keychain index associated with …\nReturn a reference to the internal <code>SpkTxOutIndex</code>.\nInsert a descriptor with a keychain associated to it.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nReturns whether the changeset are empty.\nReturns whether the spk under the <code>keychain</code>’s <code>index</code> has …\nIterate over all <code>OutPoint</code>s that have <code>TxOut</code>s with script …\nIterate over <code>OutPoint</code>s that have script pubkeys derived …\nReturn all keychains and their corresponding descriptors.\nContains the keychains that have been added and their …\nContains for each descriptor_id the last revealed index of …\nGet the last derivation index revealed for <code>keychain</code>. …\nGet the last derivation index that is revealed for each …\nReturns the highest derivation index of the <code>keychain</code> where …\nReturns the highest derivation index of each keychain that …\nGet the lookahead setting.\nStore lookahead scripts until <code>target_index</code> (inclusive).\nMarks the script pubkey at <code>index</code> as used even though the …\nComputes the net value that this transaction gives to the …\nConstruct a <code>KeychainTxOutIndex</code> with the given <code>lookahead</code>.\nGet the next derivation index for <code>keychain</code>. The next index …\nGets the next unused script pubkey in the keychain. I.e., …\nGet the set of indexed outpoints, corresponding to tracked …\nAttempts to reveal the next script pubkey for <code>keychain</code>.\nReveals script pubkeys of the <code>keychain</code>’s descriptor <strong>up </strong>…\nConvenience method to call <code>Self::reveal_to_target</code> on …\nIterate over revealed spks of the given <code>keychain</code> with …\nIterate over revealed spks of keychains in <code>range</code>\nComputes the total value transfer effect <code>tx</code> has on the …\nReturn the script that exists under the given <code>keychain</code>’s …\nGet the whole balance visible to the wallet.\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nReturn the <code>TxOut</code> of <code>outpoint</code> if it has been indexed, and …\nIterate over known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nGet an unbounded spk iterator over a given <code>keychain</code>. …\nUndoes the effect of <code>mark_used</code>. Returns whether the <code>index</code> …\nUnconfirmed UTXOs received from an external wallet\nIterate over revealed, but unused, spks of the given …\nIterate over revealed, but unused, spks of all keychains.\nThe descriptor you have attempted to reassign\nThe keychain that the descriptor is already assigned to\nThe descriptor that the keychain is already assigned to\nThe keychain that you have attempted to reassign\nRepresents a failure when trying to insert/remove a …\nThe error type for <code>LocalChain::apply_header_connected_to</code>.\nOccurs when the update cannot connect with the original …\nOccurs when an update does not have a common checkpoint …\nThe <code>ChangeSet</code> represents changes to <code>LocalChain</code>.\nA <code>LocalChain</code> checkpoint is used to find the agreement …\nIterates over checkpoints backwards.\nOccurs when <code>connected_to</code> block conflicts with either the …\nThis is a local implementation of <code>ChainOracle</code>.\nAn error which occurs when a <code>LocalChain</code> is constructed …\nApply the given <code>changeset</code>.\nUpdate the chain with a given <code>Header</code> connecting it with …\nUpdate the chain with a given <code>Header</code> at <code>height</code> which you …\nApplies the given <code>update</code> to the chain.\nGet the <code>BlockId</code> of the checkpoint.\nRemoves blocks from (and inclusive of) the given <code>block_id</code>.\nExtends the checkpoint linked list by a iterator of block …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a checkpoint from a list of <code>BlockId</code>s in …\nConstructs a <code>LocalChain</code> from a <code>BTreeMap</code> of height to …\nConstruct a <code>LocalChain</code> from an initial <code>changeset</code>.\nConstruct <code>LocalChain</code> from genesis <code>hash</code>.\nConstruct a checkpoint from the given <code>header</code> and block …\nConstruct a <code>LocalChain</code> from a given <code>checkpoint</code> tip.\nGet the genesis hash.\nGet checkpoint at <code>height</code>.\nGet checkpoint at given <code>height</code> (if it exists).\nGet the block hash of the checkpoint.\nGet the height of the checkpoint.\nThe checkpoint’s height.\nDerives an initial <code>ChangeSet</code>, meaning that it can be …\nInserts <code>block_id</code> at its height within the chain.\nInsert a <code>BlockId</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nIterate from this checkpoint in descending height.\nIterate over checkpoints in descending height order.\nConstruct a new base block at the front of a linked list.\nThe original checkpoint’s block hash which cannot be …\nGet the previous checkpoint in the chain\nPuts another checkpoint onto the linked list representing …\nIterate checkpoints over a height range.\nIterate checkpoints over a height range.\nGet the highest checkpoint.\nThe suggested checkpoint to include to connect the two …\nThe attempted update to the <code>original_block</code> hash.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client full scan.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client sync.\nChain on additional <code>OutPoint</code>s that will be synced against.\nChain on additional <code>Script</code>s that will be synced against.\nChain on additional <code>Script</code>s that will be synced against.\nA checkpoint for the current chain <code>LocalChain::tip</code>. The …\nA checkpoint for the current <code>LocalChain::tip</code>. The full …\nChain on additional <code>Txid</code>s that will be synced against.\nThe update to apply to the receiving <code>LocalChain</code>.\nThe update to apply to the receiving <code>TxGraph</code>.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a new <code>SyncRequest</code> from a given <code>cp</code> tip.\nConstruct a new <code>FullScanRequest</code> from a given <code>chain_tip</code>.\nConstruct a new <code>FullScanRequest</code> from a given <code>chain_tip</code> and …\nThe update to apply to the receiving <code>TxGraph</code>.\nThe update to apply to the receiving <code>LocalChain</code>.\nAdd a closure that will be called for <code>OutPoint</code>s previously …\nAdd a closure that will be called for <code>Script</code>s previously …\nAdd a closure that will be called for every <code>Script</code> …\nAdd a closure that will be called for every <code>Script</code> …\nAdd a closure that will be called for <code>Txid</code>s previously …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nLast active indices for the corresponding keychains (<code>K</code>).\nTransactions with these outpoints or spent from these …\nPopulate the request with revealed script pubkeys from …\nSet the <code>OutPoint</code>s that will be synced against.\nSet the <code>Script</code>s that will be synced against.\nSet the <code>Script</code>s for a given <code>keychain</code>.\nSet the <code>Txid</code>s that will be synced against.\nTransactions that spend from or to these indexed script …\nIterators of script pubkeys indexed by the keychain index.\nTransactions with these txids.\nErrors returned by <code>TxGraph::calculate_fee</code>.\nA transaction that is included in the chain, or is still …\nThe <code>ChangeSet</code> represents changes to a <code>TxGraph</code>.\nMissing <code>TxOut</code> for one or more of the inputs of the tx\nWhen the transaction is invalid according to the graph it …\nAn iterator that traverses ancestors of a given root …\nAn iterator that traverses transaction descendants.\nA graph of transactions and spends.\nA transaction node in the <code>TxGraph</code>.\nGet all transaction anchors known by <code>TxGraph</code>.\nIterate over all tx outputs known by <code>TxGraph</code>.\nIterates over the heights of that the new transaction …\nThe blocks that the transaction is “anchored” in.\nAdded anchors.\nApplies <code>ChangeSet</code> to <code>TxGraph</code>.\nExtends this graph with another so that <code>self</code> becomes the …\nGet the total balance of <code>outpoints</code> that are in <code>chain</code> of …\nBatch insert unconfirmed transactions.\nCalculates the fee of a given transaction. Returns …\nHow the transaction is observed as (confirmed or …\nGiven a transaction, return an iterator of txids that …\nGet a filtered list of outputs from the given <code>outpoints</code> …\nGet a filtered list of unspent outputs (UTXOs) from the …\nIterate over floating txouts known by <code>TxGraph</code>.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nIterate over all full transactions in the graph.\nGet the position of the transaction in <code>chain</code> with tip …\nGet the txid of the spending transaction and where the …\nGet a transaction by txid. This only returns <code>Some</code> for full …\nGet a transaction node by txid. This only returns <code>Some</code> for …\nObtains a single tx output (if any) at the specified …\nDetermines the <code>ChangeSet</code> between <code>self</code> and an empty <code>TxGraph</code>.\nInserts the given <code>anchor</code> into <code>TxGraph</code>.\nInserts the given <code>seen_at</code> for <code>txid</code> into <code>TxGraph</code>.\nInserts the given transaction into <code>TxGraph</code>.\nInserts the given <code>TxOut</code> at <code>OutPoint</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nWhether the graph has any transactions or outputs in it.\nAdded last-seen unix timestamps of transactions.\nThe last-seen unix timestamp of the transaction as …\nList graph transactions that are in <code>chain</code> with <code>chain_tip</code>.\nTransform the <code>TxGraph</code> to have <code>Anchor</code>s of another type.\nTransform the <code>ChangeSet</code> to have <code>Anchor</code>s of another type.\nConstruct a new <code>TxGraph</code> from a list of transactions.\nThe transactions spending from this output.\nGet the total balance of <code>outpoints</code> that are in <code>chain</code> of …\nGet a filtered list of outputs from the given <code>outpoints</code> …\nGet a filtered list of unspent outputs (UTXOs) from the …\nGet the position of the transaction in <code>chain</code> with tip …\nGet the txid of the spending transaction and where the …\nList graph transactions that are in <code>chain</code> with <code>chain_tip</code>.\nA partial or full representation of the transaction.\nThe transaction node (as part of the graph).\nReturns known outputs of a given <code>txid</code>.\nIterates over the transactions spending from <code>txid</code>.\nTxid of the transaction.\nIterates over all outpoints contained within <code>ChangeSet</code>.\nAdded txouts.\nAdded transactions.\nIterate over graph transactions with no anchors or …\nUpdate the last seen time for all unconfirmed transactions.\nCreates an iterator that filters and maps ancestor …\nCreates an iterator that both filters and maps conflicting …\nCreates an iterator that filters and maps descendants from …")
\ No newline at end of file
+searchState.loadedDescShard("bdk_chain", 0, "This crate is a collection of core structures for Bitcoin …\nTrait that “anchors” blockchain data to a specific …\nAn <code>Anchor</code> that can be constructed from a given block, …\nTrait that makes an object appendable.\nMaximum BIP32 derivation index.\nBalance, differentiated into various categories.\nA reference to a block in the canonical chain.\nHow many confirmations are needed f or a coinbase output …\nRepresents a service that tracks the blockchain.\nRepresents the observed position of some chain data.\nA changeset containing <code>crate</code> structures typically …\nAn <code>Anchor</code> implementation that also records the exact …\nBlock height and timestamp at which a transaction is …\nAn <code>Anchor</code> implementation that also records the exact …\nThe chain data is seen as confirmed, and in anchored by <code>A</code>.\nThe transaction is confirmed\nA trait to extend the functionality of a miniscript …\nRepresents the unique ID of a descriptor.\nError type.\nA <code>TxOut</code> with as much data as we can retrieve about it\nA tuple of keychain index and <code>T</code> representing the indexed …\nA tuple of keychain <code>K</code>, derivation index (<code>u32</code>) and a <code>T</code> …\nAn iterator for derived script pubkeys.\nThe chain data is not confirmed and last seen in the …\nThe transaction is unconfirmed\nReturns the <code>BlockId</code> that the associated blockchain data is …\nThe anchor block.\nThe anchor block.\nAppend another object of the same type onto <code>self</code>.\nReturns a reference to the inner hash (sha256, sh256d …\nChanges to the <code>LocalChain</code>.\nThe position of the transaction in <code>outpoint</code> in the overall …\nMaps a <code>ChainPosition<&A></code> into a <code>ChainPosition<A></code> by …\nThe exact confirmation height of the transaction.\nThe confirmation height of the transaction being anchored.\nGet the upper bound of the chain data’s confirmation …\nGet the upper bound of the chain data’s confirmation …\nDetermines the upper bound of the confirmation height.\nThe confirmation time of the transaction being anchored.\nConfirmed and immediately spendable balance\nGet a reference to the internal descriptor.\nReturns the descriptor ID, calculated as the sha256 hash …\nReturns the minimum value (in satoshis) at which an output …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct the anchor from a given <code>block</code>, block height and …\nCreates this wrapper type from the inner hash type.\nGet the best chain’s chain tip.\nThe hash of the block.\nThe height of the block.\nAll coinbase outputs not yet matured\nContains the <code>IndexedTxGraph</code> and associated types. Refer to …\nChanges to <code>IndexedTxGraph</code>.\n<code>Indexer</code> provides utilities for indexing transaction data.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nDetermines whether <code>block</code> of <code>BlockId</code> exists as an ancestor …\nReturns whether <code>ChainPosition</code> is confirmed or not.\nReturns whether <code>ConfirmationTime</code> is the confirmed variant.\nWhether the utxo is/was/will be spendable with chain <code>tip</code>.\nReturns whether the structure is considered empty.\nWhether the <code>txout</code> is considered mature.\nWhether this output is on a coinbase transaction.\nThe <code>LocalChain</code> is a local implementation of <code>ChainOracle</code>.\nStores the network type of the transaction data.\nCreate a new script pubkey iterator from <code>descriptor</code>.\nCreate a new script pubkey iterator from <code>descriptor</code> and a …\nThe location of the <code>TxOut</code>.\nThe txid and chain position of the transaction (if any) …\nHelper types for spk-based blockchain clients.\nTake the value, replacing it with the default value.\nTake the value, replacing it with the default value.\nReturns the inner hash (sha256, sh256d etc.).\nGet the whole balance visible to the wallet.\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nModule for structures that store and traverse transactions.\nThe <code>TxOut</code>.\nConstruct an unconfirmed variant using the given <code>last_seen</code> …\nUnconfirmed UTXOs received from an external wallet\nConfirmation height.\nThe last-seen timestamp in unix seconds.\nConfirmation time in unix seconds.\nRepresents changes to an <code>IndexedTxGraph</code>.\nThe <code>IndexedTxGraph</code> combines a <code>TxGraph</code> and an <code>Indexer</code> …\nBatch insert all transactions of the given <code>block</code> of <code>height</code>.\nBatch insert all transactions of the given <code>block</code> of <code>height</code>…\nApplies the <code>ChangeSet</code> to the <code>IndexedTxGraph</code>.\nApply an <code>update</code> directly.\nBatch insert transactions, filtering out those that are …\nBatch insert unconfirmed transactions, filtering out those …\nBatch insert unconfirmed transactions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a reference of the internal transaction graph.\n<code>TxGraph</code> changeset.\nTransaction index.\n<code>Indexer</code> changeset.\nDetermines the <code>ChangeSet</code> between <code>self</code> and an empty …\nInsert an <code>anchor</code> for a given transaction.\nInsert a unix timestamp of when a transaction is seen in …\nInsert and index a transaction into the graph.\nInsert a floating <code>txout</code> of given <code>outpoint</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nConstruct a new <code>IndexedTxGraph</code> with a given <code>index</code>.\nThe resultant “changeset” when new transaction data is …\nUtilities for indexing transaction data.\nApply changeset to itself.\nScans a transaction for relevant outpoints, which are …\nScan and index the given <code>outpoint</code> and <code>txout</code>.\nDetermines the <code>ChangeSet</code> between <code>self</code> and an empty <code>Indexer</code>.\nDetermines whether the transaction should be included in …\n<code>KeychainTxOutIndex</code> controls how script pubkeys are …\n<code>SpkTxOutIndex</code> is an index storing <code>TxOut</code>s that have a …\nRepresents updates to the derivation index of a …\nThe default lookahead for a <code>KeychainTxOutIndex</code>\nThe descriptor has already been assigned to a keychain so …\nError returned from <code>KeychainTxOutIndex::insert_descriptor</code>\nThe keychain is already assigned to a descriptor so you can…\n<code>KeychainTxOutIndex</code> controls how script pubkeys are …\nThe keychain doesn’t exist. Most likley hasn’t been …\nGet unbounded spk iterators for all keychains.\nMerge another <code>ChangeSet<K></code> into self.\nApplies the <code>ChangeSet<K></code> to the <code>KeychainTxOutIndex<K></code>\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets the descriptor associated with the keychain. Returns …\nReturns the keychain and keychain index associated with …\nReturn a reference to the internal <code>SpkTxOutIndex</code>.\nInsert a descriptor with a keychain associated to it.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nReturns whether the changeset are empty.\nReturns whether the spk under the <code>keychain</code>’s <code>index</code> has …\nIterate over all <code>OutPoint</code>s that have <code>TxOut</code>s with script …\nIterate over <code>OutPoint</code>s that have script pubkeys derived …\nReturn all keychains and their corresponding descriptors.\nContains the keychains that have been added and their …\nContains for each descriptor_id the last revealed index of …\nGet the last derivation index revealed for <code>keychain</code>. …\nGet the last derivation index that is revealed for each …\nReturns the highest derivation index of the <code>keychain</code> where …\nReturns the highest derivation index of each keychain that …\nGet the lookahead setting.\nStore lookahead scripts until <code>target_index</code> (inclusive).\nMarks the script pubkey at <code>index</code> as used even though the …\nComputes the net value that this transaction gives to the …\nConstruct a <code>KeychainTxOutIndex</code> with the given <code>lookahead</code>.\nGet the next derivation index for <code>keychain</code>. The next index …\nGets the next unused script pubkey in the keychain. I.e., …\nGet the set of indexed outpoints, corresponding to tracked …\nAttempts to reveal the next script pubkey for <code>keychain</code>.\nReveals script pubkeys of the <code>keychain</code>’s descriptor <strong>up </strong>…\nConvenience method to call <code>Self::reveal_to_target</code> on …\nIterate over revealed spks of the given <code>keychain</code> with …\nIterate over revealed spks of keychains in <code>range</code>\nComputes the total value transfer effect <code>tx</code> has on the …\nReturn the script that exists under the given <code>keychain</code>’s …\nReturn the <code>TxOut</code> of <code>outpoint</code> if it has been indexed, and …\nIterate over known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nGet an unbounded spk iterator over a given <code>keychain</code>. …\nUndoes the effect of <code>mark_used</code>. Returns whether the <code>index</code> …\nIterate over revealed, but unused, spks of the given …\nIterate over revealed, but unused, spks of all keychains.\nThe descriptor you have attempted to reassign\nThe keychain that the descriptor is already assigned to\nThe descriptor that the keychain is already assigned to\nThe keychain that you have attempted to reassign\nAn index storing <code>TxOut</code>s that have a script pubkey that …\nThe script pubkeys that are being tracked by the index.\nReturns the argument unchanged.\nReturns the index associated with the script pubkey.\nAdds a script pubkey to scan for. Returns <code>false</code> and does …\nCalls <code>U::from(self)</code>.\nWhether any of the inputs of this transaction spend a …\nReturns whether the script pubkey at <code>index</code> has been used …\nMarks the script pubkey at <code>index</code> as used even though it …\nComputes the net value transfer effect of <code>tx</code> on the script …\nGet a reference to the set of indexed outpoints.\nIterates over all the outputs with script pubkeys in an …\nScans a transaction’s outputs for matching script …\nScan a single <code>TxOut</code> for a matching script pubkey and …\nComputes the total value transfer effect <code>tx</code> has on the …\nReturns the script that has been inserted at the <code>index</code>.\nReturns the txout and script pubkey index of the <code>TxOut</code> at …\nIterate over all known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nUndoes the effect of <code>mark_used</code>. Returns whether the <code>index</code> …\nIterates over all unused script pubkeys in an index range.\nRepresents a failure when trying to insert/remove a …\nThe error type for <code>LocalChain::apply_header_connected_to</code>.\nOccurs when the update cannot connect with the original …\nOccurs when an update does not have a common checkpoint …\nThe <code>ChangeSet</code> represents changes to <code>LocalChain</code>.\nA <code>LocalChain</code> checkpoint is used to find the agreement …\nIterates over checkpoints backwards.\nOccurs when <code>connected_to</code> block conflicts with either the …\nThis is a local implementation of <code>ChainOracle</code>.\nAn error which occurs when a <code>LocalChain</code> is constructed …\nApply the given <code>changeset</code>.\nUpdate the chain with a given <code>Header</code> connecting it with …\nUpdate the chain with a given <code>Header</code> at <code>height</code> which you …\nApplies the given <code>update</code> to the chain.\nGet the <code>BlockId</code> of the checkpoint.\nRemoves blocks from (and inclusive of) the given <code>block_id</code>.\nExtends the checkpoint linked list by a iterator of block …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a checkpoint from a list of <code>BlockId</code>s in …\nConstructs a <code>LocalChain</code> from a <code>BTreeMap</code> of height to …\nConstruct a <code>LocalChain</code> from an initial <code>changeset</code>.\nConstruct <code>LocalChain</code> from genesis <code>hash</code>.\nConstruct a checkpoint from the given <code>header</code> and block …\nConstruct a <code>LocalChain</code> from a given <code>checkpoint</code> tip.\nGet the genesis hash.\nGet checkpoint at <code>height</code>.\nGet checkpoint at given <code>height</code> (if it exists).\nGet the block hash of the checkpoint.\nGet the height of the checkpoint.\nThe checkpoint’s height.\nDerives an initial <code>ChangeSet</code>, meaning that it can be …\nInserts <code>block_id</code> at its height within the chain.\nInsert a <code>BlockId</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nIterate from this checkpoint in descending height.\nIterate over checkpoints in descending height order.\nConstruct a new base block at the front of a linked list.\nThe original checkpoint’s block hash which cannot be …\nGet the previous checkpoint in the chain\nPuts another checkpoint onto the linked list representing …\nIterate checkpoints over a height range.\nIterate checkpoints over a height range.\nGet the highest checkpoint.\nThe suggested checkpoint to include to connect the two …\nThe attempted update to the <code>original_block</code> hash.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client full scan.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client sync.\nChain on additional <code>OutPoint</code>s that will be synced against.\nChain on additional <code>Script</code>s that will be synced against.\nChain on additional <code>Script</code>s that will be synced against.\nA checkpoint for the current chain <code>LocalChain::tip</code>. The …\nA checkpoint for the current <code>LocalChain::tip</code>. The full …\nChain on additional <code>Txid</code>s that will be synced against.\nThe update to apply to the receiving <code>LocalChain</code>.\nThe update to apply to the receiving <code>TxGraph</code>.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a new <code>SyncRequest</code> from a given <code>cp</code> tip.\nConstruct a new <code>FullScanRequest</code> from a given <code>chain_tip</code>.\nConstruct a new <code>FullScanRequest</code> from a given <code>chain_tip</code> and …\nThe update to apply to the receiving <code>TxGraph</code>.\nThe update to apply to the receiving <code>LocalChain</code>.\nAdd a closure that will be called for <code>OutPoint</code>s previously …\nAdd a closure that will be called for <code>Script</code>s previously …\nAdd a closure that will be called for every <code>Script</code> …\nAdd a closure that will be called for every <code>Script</code> …\nAdd a closure that will be called for <code>Txid</code>s previously …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nLast active indices for the corresponding keychains (<code>K</code>).\nTransactions with these outpoints or spent from these …\nPopulate the request with revealed script pubkeys from …\nSet the <code>OutPoint</code>s that will be synced against.\nSet the <code>Script</code>s that will be synced against.\nSet the <code>Script</code>s for a given <code>keychain</code>.\nSet the <code>Txid</code>s that will be synced against.\nTransactions that spend from or to these indexed script …\nIterators of script pubkeys indexed by the keychain index.\nTransactions with these txids.\nErrors returned by <code>TxGraph::calculate_fee</code>.\nA transaction that is included in the chain, or is still …\nThe <code>ChangeSet</code> represents changes to a <code>TxGraph</code>.\nMissing <code>TxOut</code> for one or more of the inputs of the tx\nWhen the transaction is invalid according to the graph it …\nAn iterator that traverses ancestors of a given root …\nAn iterator that traverses transaction descendants.\nA graph of transactions and spends.\nA transaction node in the <code>TxGraph</code>.\nGet all transaction anchors known by <code>TxGraph</code>.\nIterate over all tx outputs known by <code>TxGraph</code>.\nIterates over the heights of that the new transaction …\nThe blocks that the transaction is “anchored” in.\nAdded anchors.\nApplies <code>ChangeSet</code> to <code>TxGraph</code>.\nExtends this graph with another so that <code>self</code> becomes the …\nGet the total balance of <code>outpoints</code> that are in <code>chain</code> of …\nBatch insert unconfirmed transactions.\nCalculates the fee of a given transaction. Returns …\nHow the transaction is observed as (confirmed or …\nGiven a transaction, return an iterator of txids that …\nGet a filtered list of outputs from the given <code>outpoints</code> …\nGet a filtered list of unspent outputs (UTXOs) from the …\nIterate over floating txouts known by <code>TxGraph</code>.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nIterate over all full transactions in the graph.\nGet the position of the transaction in <code>chain</code> with tip …\nGet the txid of the spending transaction and where the …\nGet a transaction by txid. This only returns <code>Some</code> for full …\nGet a transaction node by txid. This only returns <code>Some</code> for …\nObtains a single tx output (if any) at the specified …\nDetermines the <code>ChangeSet</code> between <code>self</code> and an empty <code>TxGraph</code>.\nInserts the given <code>anchor</code> into <code>TxGraph</code>.\nInserts the given <code>seen_at</code> for <code>txid</code> into <code>TxGraph</code>.\nInserts the given transaction into <code>TxGraph</code>.\nInserts the given <code>TxOut</code> at <code>OutPoint</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nWhether the graph has any transactions or outputs in it.\nAdded last-seen unix timestamps of transactions.\nThe last-seen unix timestamp of the transaction as …\nList graph transactions that are in <code>chain</code> with <code>chain_tip</code>.\nTransform the <code>TxGraph</code> to have <code>Anchor</code>s of another type.\nTransform the <code>ChangeSet</code> to have <code>Anchor</code>s of another type.\nConstruct a new <code>TxGraph</code> from a list of transactions.\nThe transactions spending from this output.\nGet the total balance of <code>outpoints</code> that are in <code>chain</code> of …\nGet a filtered list of outputs from the given <code>outpoints</code> …\nGet a filtered list of unspent outputs (UTXOs) from the …\nGet the position of the transaction in <code>chain</code> with tip …\nGet the txid of the spending transaction and where the …\nList graph transactions that are in <code>chain</code> with <code>chain_tip</code>.\nA partial or full representation of the transaction.\nThe transaction node (as part of the graph).\nReturns known outputs of a given <code>txid</code>.\nIterates over the transactions spending from <code>txid</code>.\nTxid of the transaction.\nIterates over all outpoints contained within <code>ChangeSet</code>.\nAdded txouts.\nAdded transactions.\nIterate over graph transactions with no anchors or …\nUpdate the last seen time for all unconfirmed transactions.\nCreates an iterator that filters and maps ancestor …\nCreates an iterator that both filters and maps conflicting …\nCreates an iterator that filters and maps descendants from …")
\ No newline at end of file
-<!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="Settings of Rustdoc"><title>Settings</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_bitcoind_rpc" 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="./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 mod sys"><!--[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="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.80.0-nightly</span></h2></div><div class="version">(78a775127 2024-05-11)</div><h2 class="location">Settings</h2><div class="sidebar-elems"></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>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-4313503d2e1961c2.js"></script></section></div></main></body></html>
\ No newline at end of file
+<!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="Settings of Rustdoc"><title>Settings</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_testenv" 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="./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 mod sys"><!--[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="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.80.0-nightly</span></h2></div><div class="version">(78a775127 2024-05-11)</div><h2 class="location">Settings</h2><div class="sidebar-elems"></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>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-4313503d2e1961c2.js"></script></section></div></main></body></html>
\ No newline at end of file
var srcIndex = new Map(JSON.parse('[\
["bdk_bitcoind_rpc",["",[],["lib.rs"]]],\
-["bdk_chain",["",[["keychain",[],["txout_index.rs"]]],["chain_data.rs","chain_oracle.rs","changeset.rs","descriptor_ext.rs","example_utils.rs","indexed_tx_graph.rs","keychain.rs","lib.rs","local_chain.rs","spk_client.rs","spk_iter.rs","spk_txout_index.rs","tx_data_traits.rs","tx_graph.rs"]]],\
+["bdk_chain",["",[["indexer",[],["keychain_txout.rs","spk_txout.rs"]]],["balance.rs","chain_data.rs","chain_oracle.rs","changeset.rs","descriptor_ext.rs","example_utils.rs","indexed_tx_graph.rs","indexer.rs","lib.rs","local_chain.rs","spk_client.rs","spk_iter.rs","tx_data_traits.rs","tx_graph.rs"]]],\
["bdk_coin_select",["",[],["bnb.rs","coin_selector.rs","lib.rs"]]],\
["bdk_electrum",["",[],["bdk_electrum_client.rs","lib.rs"]]],\
["bdk_esplora",["",[],["async_ext.rs","blocking_ext.rs","lib.rs"]]],\
--- /dev/null
+<!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="Source of the Rust file `crates/chain/src/balance.rs`."><title>balance.rs - source</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="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>bitcoin::Amount;
+
+<span class="doccomment">/// Balance, differentiated into various categories.
+</span><span class="attr">#[derive(Debug, PartialEq, Eq, Clone, Default)]
+#[cfg_attr(
+ feature = <span class="string">"serde"</span>,
+ derive(serde::Deserialize, serde::Serialize),
+ serde(<span class="kw">crate </span>= <span class="string">"serde_crate"</span>,)
+)]
+</span><span class="kw">pub struct </span>Balance {
+ <span class="doccomment">/// All coinbase outputs not yet matured
+ </span><span class="kw">pub </span>immature: Amount,
+ <span class="doccomment">/// Unconfirmed UTXOs generated by a wallet tx
+ </span><span class="kw">pub </span>trusted_pending: Amount,
+ <span class="doccomment">/// Unconfirmed UTXOs received from an external wallet
+ </span><span class="kw">pub </span>untrusted_pending: Amount,
+ <span class="doccomment">/// Confirmed and immediately spendable balance
+ </span><span class="kw">pub </span>confirmed: Amount,
+}
+
+<span class="kw">impl </span>Balance {
+ <span class="doccomment">/// Get sum of trusted_pending and confirmed coins.
+ ///
+ /// This is the balance you can spend right now that shouldn't get cancelled via another party
+ /// double spending it.
+ </span><span class="kw">pub fn </span>trusted_spendable(<span class="kw-2">&</span><span class="self">self</span>) -> Amount {
+ <span class="self">self</span>.confirmed + <span class="self">self</span>.trusted_pending
+ }
+
+ <span class="doccomment">/// Get the whole balance visible to the wallet.
+ </span><span class="kw">pub fn </span>total(<span class="kw-2">&</span><span class="self">self</span>) -> Amount {
+ <span class="self">self</span>.confirmed + <span class="self">self</span>.trusted_pending + <span class="self">self</span>.untrusted_pending + <span class="self">self</span>.immature
+ }
+}
+
+<span class="kw">impl </span>core::fmt::Display <span class="kw">for </span>Balance {
+ <span class="kw">fn </span>fmt(<span class="kw-2">&</span><span class="self">self</span>, f: <span class="kw-2">&mut </span>core::fmt::Formatter<<span class="lifetime">'_</span>>) -> core::fmt::Result {
+ <span class="macro">write!</span>(
+ f,
+ <span class="string">"{{ immature: {}, trusted_pending: {}, untrusted_pending: {}, confirmed: {} }}"</span>,
+ <span class="self">self</span>.immature, <span class="self">self</span>.trusted_pending, <span class="self">self</span>.untrusted_pending, <span class="self">self</span>.confirmed
+ )
+ }
+}
+
+<span class="kw">impl </span>core::ops::Add <span class="kw">for </span>Balance {
+ <span class="kw">type </span>Output = <span class="self">Self</span>;
+
+ <span class="kw">fn </span>add(<span class="self">self</span>, other: <span class="self">Self</span>) -> <span class="self">Self </span>{
+ <span class="self">Self </span>{
+ immature: <span class="self">self</span>.immature + other.immature,
+ trusted_pending: <span class="self">self</span>.trusted_pending + other.trusted_pending,
+ untrusted_pending: <span class="self">self</span>.untrusted_pending + other.untrusted_pending,
+ confirmed: <span class="self">self</span>.confirmed + other.confirmed,
+ }
+ }
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
<a href="#87" id="87">87</a>
<a href="#88" id="88">88</a>
<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
</pre></div><pre class="rust"><code><span class="doccomment">/// A changeset containing [`crate`] structures typically persisted together.
</span><span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
#[derive(Debug, Clone, PartialEq)]
<span class="doccomment">/// Changes to the [`LocalChain`](crate::local_chain::LocalChain).
</span><span class="kw">pub </span>chain: <span class="kw">crate</span>::local_chain::ChangeSet,
<span class="doccomment">/// Changes to [`IndexedTxGraph`](crate::indexed_tx_graph::IndexedTxGraph).
- </span><span class="kw">pub </span>indexed_tx_graph: <span class="kw">crate</span>::indexed_tx_graph::ChangeSet<A, <span class="kw">crate</span>::keychain::ChangeSet<K>>,
+ </span><span class="kw">pub </span>indexed_tx_graph:
+ <span class="kw">crate</span>::indexed_tx_graph::ChangeSet<A, <span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>>,
<span class="doccomment">/// Stores the network type of the transaction data.
</span><span class="kw">pub </span>network: <span class="prelude-ty">Option</span><bitcoin::Network>,
}
}
<span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
-</span><span class="kw">impl</span><K, A> From<<span class="kw">crate</span>::indexed_tx_graph::ChangeSet<A, <span class="kw">crate</span>::keychain::ChangeSet<K>>>
+</span><span class="kw">impl</span><K, A> From<<span class="kw">crate</span>::indexed_tx_graph::ChangeSet<A, <span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>>>
<span class="kw">for </span>CombinedChangeSet<K, A>
{
<span class="kw">fn </span>from(
- indexed_tx_graph: <span class="kw">crate</span>::indexed_tx_graph::ChangeSet<A, <span class="kw">crate</span>::keychain::ChangeSet<K>>,
+ indexed_tx_graph: <span class="kw">crate</span>::indexed_tx_graph::ChangeSet<
+ A,
+ <span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>,
+ >,
) -> <span class="self">Self </span>{
<span class="self">Self </span>{
indexed_tx_graph,
}
<span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
-</span><span class="kw">impl</span><K, A> From<<span class="kw">crate</span>::keychain::ChangeSet<K>> <span class="kw">for </span>CombinedChangeSet<K, A> {
- <span class="kw">fn </span>from(indexer: <span class="kw">crate</span>::keychain::ChangeSet<K>) -> <span class="self">Self </span>{
+</span><span class="kw">impl</span><K, A> From<<span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>> <span class="kw">for </span>CombinedChangeSet<K, A> {
+ <span class="kw">fn </span>from(indexer: <span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>) -> <span class="self">Self </span>{
<span class="self">Self </span>{
indexed_tx_graph: <span class="kw">crate</span>::indexed_tx_graph::ChangeSet {
indexer,
<a href="#336" id="336">336</a>
<a href="#337" id="337">337</a>
<a href="#338" id="338">338</a>
-<a href="#339" id="339">339</a>
-<a href="#340" id="340">340</a>
-<a href="#341" id="341">341</a>
-<a href="#342" id="342">342</a>
-<a href="#343" id="343">343</a>
-<a href="#344" id="344">344</a>
-<a href="#345" id="345">345</a>
-<a href="#346" id="346">346</a>
-<a href="#347" id="347">347</a>
-<a href="#348" id="348">348</a>
-<a href="#349" id="349">349</a>
-<a href="#350" id="350">350</a>
-<a href="#351" id="351">351</a>
-<a href="#352" id="352">352</a>
-<a href="#353" id="353">353</a>
-<a href="#354" id="354">354</a>
-<a href="#355" id="355">355</a>
-<a href="#356" id="356">356</a>
-<a href="#357" id="357">357</a>
-<a href="#358" id="358">358</a>
-<a href="#359" id="359">359</a>
-<a href="#360" id="360">360</a>
</pre></div><pre class="rust"><code><span class="doccomment">//! Contains the [`IndexedTxGraph`] and associated types. Refer to the
//! [`IndexedTxGraph`] documentation for more.
</span><span class="kw">use </span>alloc::vec::Vec;
<span class="kw">use crate</span>::{
tx_graph::{<span class="self">self</span>, TxGraph},
- Anchor, AnchorFromBlockPosition, Append, BlockId,
+ Anchor, AnchorFromBlockPosition, Append, BlockId, Indexer,
};
<span class="doccomment">/// The [`IndexedTxGraph`] combines a [`TxGraph`] and an [`Indexer`] implementation.
}
<span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
-</span><span class="kw">impl</span><A, K> From<<span class="kw">crate</span>::keychain::ChangeSet<K>> <span class="kw">for </span>ChangeSet<A, <span class="kw">crate</span>::keychain::ChangeSet<K>> {
- <span class="kw">fn </span>from(indexer: <span class="kw">crate</span>::keychain::ChangeSet<K>) -> <span class="self">Self </span>{
+</span><span class="kw">impl</span><A, K> From<<span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>>
+ <span class="kw">for </span>ChangeSet<A, <span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>>
+{
+ <span class="kw">fn </span>from(indexer: <span class="kw">crate</span>::indexer::keychain_txout::ChangeSet<K>) -> <span class="self">Self </span>{
<span class="self">Self </span>{
graph: Default::default(),
indexer,
}
}
-<span class="doccomment">/// Utilities for indexing transaction data.
-///
-/// Types which implement this trait can be used to construct an [`IndexedTxGraph`].
-/// This trait's methods should rarely be called directly.
-</span><span class="kw">pub trait </span>Indexer {
- <span class="doccomment">/// The resultant "changeset" when new transaction data is indexed.
- </span><span class="kw">type </span>ChangeSet;
-
- <span class="doccomment">/// Scan and index the given `outpoint` and `txout`.
- </span><span class="kw">fn </span>index_txout(<span class="kw-2">&mut </span><span class="self">self</span>, outpoint: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="self">Self</span>::ChangeSet;
-
- <span class="doccomment">/// Scans a transaction for relevant outpoints, which are stored and indexed internally.
- </span><span class="kw">fn </span>index_tx(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> <span class="self">Self</span>::ChangeSet;
-
- <span class="doccomment">/// Apply changeset to itself.
- </span><span class="kw">fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, changeset: <span class="self">Self</span>::ChangeSet);
-
- <span class="doccomment">/// Determines the [`ChangeSet`] between `self` and an empty [`Indexer`].
- </span><span class="kw">fn </span>initial_changeset(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="self">Self</span>::ChangeSet;
-
- <span class="doccomment">/// Determines whether the transaction should be included in the index.
- </span><span class="kw">fn </span>is_tx_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> bool;
-}
-
<span class="kw">impl</span><A, I> AsRef<TxGraph<A>> <span class="kw">for </span>IndexedTxGraph<A, I> {
<span class="kw">fn </span>as_ref(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>TxGraph<A> {
<span class="kw-2">&</span><span class="self">self</span>.graph
--- /dev/null
+<!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="Source of the Rust file `crates/chain/src/indexer.rs`."><title>indexer.rs - source</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="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+</pre></div><pre class="rust"><code><span class="doccomment">//! [`Indexer`] provides utilities for indexing transaction data.
+
+</span><span class="kw">use </span>bitcoin::{OutPoint, Transaction, TxOut};
+
+<span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
+</span><span class="kw">pub mod </span>keychain_txout;
+<span class="kw">pub mod </span>spk_txout;
+
+<span class="doccomment">/// Utilities for indexing transaction data.
+///
+/// Types which implement this trait can be used to construct an [`IndexedTxGraph`].
+/// This trait's methods should rarely be called directly.
+///
+/// [`IndexedTxGraph`]: crate::IndexedTxGraph
+</span><span class="kw">pub trait </span>Indexer {
+ <span class="doccomment">/// The resultant "changeset" when new transaction data is indexed.
+ </span><span class="kw">type </span>ChangeSet;
+
+ <span class="doccomment">/// Scan and index the given `outpoint` and `txout`.
+ </span><span class="kw">fn </span>index_txout(<span class="kw-2">&mut </span><span class="self">self</span>, outpoint: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="self">Self</span>::ChangeSet;
+
+ <span class="doccomment">/// Scans a transaction for relevant outpoints, which are stored and indexed internally.
+ </span><span class="kw">fn </span>index_tx(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> <span class="self">Self</span>::ChangeSet;
+
+ <span class="doccomment">/// Apply changeset to itself.
+ </span><span class="kw">fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, changeset: <span class="self">Self</span>::ChangeSet);
+
+ <span class="doccomment">/// Determines the [`ChangeSet`](Indexer::ChangeSet) between `self` and an empty [`Indexer`].
+ </span><span class="kw">fn </span>initial_changeset(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="self">Self</span>::ChangeSet;
+
+ <span class="doccomment">/// Determines whether the transaction should be included in the index.
+ </span><span class="kw">fn </span>is_tx_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> bool;
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="Source of the Rust file `crates/chain/src/indexer/keychain_txout.rs`."><title>keychain_txout.rs - source</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="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+<a href="#305" id="305">305</a>
+<a href="#306" id="306">306</a>
+<a href="#307" id="307">307</a>
+<a href="#308" id="308">308</a>
+<a href="#309" id="309">309</a>
+<a href="#310" id="310">310</a>
+<a href="#311" id="311">311</a>
+<a href="#312" id="312">312</a>
+<a href="#313" id="313">313</a>
+<a href="#314" id="314">314</a>
+<a href="#315" id="315">315</a>
+<a href="#316" id="316">316</a>
+<a href="#317" id="317">317</a>
+<a href="#318" id="318">318</a>
+<a href="#319" id="319">319</a>
+<a href="#320" id="320">320</a>
+<a href="#321" id="321">321</a>
+<a href="#322" id="322">322</a>
+<a href="#323" id="323">323</a>
+<a href="#324" id="324">324</a>
+<a href="#325" id="325">325</a>
+<a href="#326" id="326">326</a>
+<a href="#327" id="327">327</a>
+<a href="#328" id="328">328</a>
+<a href="#329" id="329">329</a>
+<a href="#330" id="330">330</a>
+<a href="#331" id="331">331</a>
+<a href="#332" id="332">332</a>
+<a href="#333" id="333">333</a>
+<a href="#334" id="334">334</a>
+<a href="#335" id="335">335</a>
+<a href="#336" id="336">336</a>
+<a href="#337" id="337">337</a>
+<a href="#338" id="338">338</a>
+<a href="#339" id="339">339</a>
+<a href="#340" id="340">340</a>
+<a href="#341" id="341">341</a>
+<a href="#342" id="342">342</a>
+<a href="#343" id="343">343</a>
+<a href="#344" id="344">344</a>
+<a href="#345" id="345">345</a>
+<a href="#346" id="346">346</a>
+<a href="#347" id="347">347</a>
+<a href="#348" id="348">348</a>
+<a href="#349" id="349">349</a>
+<a href="#350" id="350">350</a>
+<a href="#351" id="351">351</a>
+<a href="#352" id="352">352</a>
+<a href="#353" id="353">353</a>
+<a href="#354" id="354">354</a>
+<a href="#355" id="355">355</a>
+<a href="#356" id="356">356</a>
+<a href="#357" id="357">357</a>
+<a href="#358" id="358">358</a>
+<a href="#359" id="359">359</a>
+<a href="#360" id="360">360</a>
+<a href="#361" id="361">361</a>
+<a href="#362" id="362">362</a>
+<a href="#363" id="363">363</a>
+<a href="#364" id="364">364</a>
+<a href="#365" id="365">365</a>
+<a href="#366" id="366">366</a>
+<a href="#367" id="367">367</a>
+<a href="#368" id="368">368</a>
+<a href="#369" id="369">369</a>
+<a href="#370" id="370">370</a>
+<a href="#371" id="371">371</a>
+<a href="#372" id="372">372</a>
+<a href="#373" id="373">373</a>
+<a href="#374" id="374">374</a>
+<a href="#375" id="375">375</a>
+<a href="#376" id="376">376</a>
+<a href="#377" id="377">377</a>
+<a href="#378" id="378">378</a>
+<a href="#379" id="379">379</a>
+<a href="#380" id="380">380</a>
+<a href="#381" id="381">381</a>
+<a href="#382" id="382">382</a>
+<a href="#383" id="383">383</a>
+<a href="#384" id="384">384</a>
+<a href="#385" id="385">385</a>
+<a href="#386" id="386">386</a>
+<a href="#387" id="387">387</a>
+<a href="#388" id="388">388</a>
+<a href="#389" id="389">389</a>
+<a href="#390" id="390">390</a>
+<a href="#391" id="391">391</a>
+<a href="#392" id="392">392</a>
+<a href="#393" id="393">393</a>
+<a href="#394" id="394">394</a>
+<a href="#395" id="395">395</a>
+<a href="#396" id="396">396</a>
+<a href="#397" id="397">397</a>
+<a href="#398" id="398">398</a>
+<a href="#399" id="399">399</a>
+<a href="#400" id="400">400</a>
+<a href="#401" id="401">401</a>
+<a href="#402" id="402">402</a>
+<a href="#403" id="403">403</a>
+<a href="#404" id="404">404</a>
+<a href="#405" id="405">405</a>
+<a href="#406" id="406">406</a>
+<a href="#407" id="407">407</a>
+<a href="#408" id="408">408</a>
+<a href="#409" id="409">409</a>
+<a href="#410" id="410">410</a>
+<a href="#411" id="411">411</a>
+<a href="#412" id="412">412</a>
+<a href="#413" id="413">413</a>
+<a href="#414" id="414">414</a>
+<a href="#415" id="415">415</a>
+<a href="#416" id="416">416</a>
+<a href="#417" id="417">417</a>
+<a href="#418" id="418">418</a>
+<a href="#419" id="419">419</a>
+<a href="#420" id="420">420</a>
+<a href="#421" id="421">421</a>
+<a href="#422" id="422">422</a>
+<a href="#423" id="423">423</a>
+<a href="#424" id="424">424</a>
+<a href="#425" id="425">425</a>
+<a href="#426" id="426">426</a>
+<a href="#427" id="427">427</a>
+<a href="#428" id="428">428</a>
+<a href="#429" id="429">429</a>
+<a href="#430" id="430">430</a>
+<a href="#431" id="431">431</a>
+<a href="#432" id="432">432</a>
+<a href="#433" id="433">433</a>
+<a href="#434" id="434">434</a>
+<a href="#435" id="435">435</a>
+<a href="#436" id="436">436</a>
+<a href="#437" id="437">437</a>
+<a href="#438" id="438">438</a>
+<a href="#439" id="439">439</a>
+<a href="#440" id="440">440</a>
+<a href="#441" id="441">441</a>
+<a href="#442" id="442">442</a>
+<a href="#443" id="443">443</a>
+<a href="#444" id="444">444</a>
+<a href="#445" id="445">445</a>
+<a href="#446" id="446">446</a>
+<a href="#447" id="447">447</a>
+<a href="#448" id="448">448</a>
+<a href="#449" id="449">449</a>
+<a href="#450" id="450">450</a>
+<a href="#451" id="451">451</a>
+<a href="#452" id="452">452</a>
+<a href="#453" id="453">453</a>
+<a href="#454" id="454">454</a>
+<a href="#455" id="455">455</a>
+<a href="#456" id="456">456</a>
+<a href="#457" id="457">457</a>
+<a href="#458" id="458">458</a>
+<a href="#459" id="459">459</a>
+<a href="#460" id="460">460</a>
+<a href="#461" id="461">461</a>
+<a href="#462" id="462">462</a>
+<a href="#463" id="463">463</a>
+<a href="#464" id="464">464</a>
+<a href="#465" id="465">465</a>
+<a href="#466" id="466">466</a>
+<a href="#467" id="467">467</a>
+<a href="#468" id="468">468</a>
+<a href="#469" id="469">469</a>
+<a href="#470" id="470">470</a>
+<a href="#471" id="471">471</a>
+<a href="#472" id="472">472</a>
+<a href="#473" id="473">473</a>
+<a href="#474" id="474">474</a>
+<a href="#475" id="475">475</a>
+<a href="#476" id="476">476</a>
+<a href="#477" id="477">477</a>
+<a href="#478" id="478">478</a>
+<a href="#479" id="479">479</a>
+<a href="#480" id="480">480</a>
+<a href="#481" id="481">481</a>
+<a href="#482" id="482">482</a>
+<a href="#483" id="483">483</a>
+<a href="#484" id="484">484</a>
+<a href="#485" id="485">485</a>
+<a href="#486" id="486">486</a>
+<a href="#487" id="487">487</a>
+<a href="#488" id="488">488</a>
+<a href="#489" id="489">489</a>
+<a href="#490" id="490">490</a>
+<a href="#491" id="491">491</a>
+<a href="#492" id="492">492</a>
+<a href="#493" id="493">493</a>
+<a href="#494" id="494">494</a>
+<a href="#495" id="495">495</a>
+<a href="#496" id="496">496</a>
+<a href="#497" id="497">497</a>
+<a href="#498" id="498">498</a>
+<a href="#499" id="499">499</a>
+<a href="#500" id="500">500</a>
+<a href="#501" id="501">501</a>
+<a href="#502" id="502">502</a>
+<a href="#503" id="503">503</a>
+<a href="#504" id="504">504</a>
+<a href="#505" id="505">505</a>
+<a href="#506" id="506">506</a>
+<a href="#507" id="507">507</a>
+<a href="#508" id="508">508</a>
+<a href="#509" id="509">509</a>
+<a href="#510" id="510">510</a>
+<a href="#511" id="511">511</a>
+<a href="#512" id="512">512</a>
+<a href="#513" id="513">513</a>
+<a href="#514" id="514">514</a>
+<a href="#515" id="515">515</a>
+<a href="#516" id="516">516</a>
+<a href="#517" id="517">517</a>
+<a href="#518" id="518">518</a>
+<a href="#519" id="519">519</a>
+<a href="#520" id="520">520</a>
+<a href="#521" id="521">521</a>
+<a href="#522" id="522">522</a>
+<a href="#523" id="523">523</a>
+<a href="#524" id="524">524</a>
+<a href="#525" id="525">525</a>
+<a href="#526" id="526">526</a>
+<a href="#527" id="527">527</a>
+<a href="#528" id="528">528</a>
+<a href="#529" id="529">529</a>
+<a href="#530" id="530">530</a>
+<a href="#531" id="531">531</a>
+<a href="#532" id="532">532</a>
+<a href="#533" id="533">533</a>
+<a href="#534" id="534">534</a>
+<a href="#535" id="535">535</a>
+<a href="#536" id="536">536</a>
+<a href="#537" id="537">537</a>
+<a href="#538" id="538">538</a>
+<a href="#539" id="539">539</a>
+<a href="#540" id="540">540</a>
+<a href="#541" id="541">541</a>
+<a href="#542" id="542">542</a>
+<a href="#543" id="543">543</a>
+<a href="#544" id="544">544</a>
+<a href="#545" id="545">545</a>
+<a href="#546" id="546">546</a>
+<a href="#547" id="547">547</a>
+<a href="#548" id="548">548</a>
+<a href="#549" id="549">549</a>
+<a href="#550" id="550">550</a>
+<a href="#551" id="551">551</a>
+<a href="#552" id="552">552</a>
+<a href="#553" id="553">553</a>
+<a href="#554" id="554">554</a>
+<a href="#555" id="555">555</a>
+<a href="#556" id="556">556</a>
+<a href="#557" id="557">557</a>
+<a href="#558" id="558">558</a>
+<a href="#559" id="559">559</a>
+<a href="#560" id="560">560</a>
+<a href="#561" id="561">561</a>
+<a href="#562" id="562">562</a>
+<a href="#563" id="563">563</a>
+<a href="#564" id="564">564</a>
+<a href="#565" id="565">565</a>
+<a href="#566" id="566">566</a>
+<a href="#567" id="567">567</a>
+<a href="#568" id="568">568</a>
+<a href="#569" id="569">569</a>
+<a href="#570" id="570">570</a>
+<a href="#571" id="571">571</a>
+<a href="#572" id="572">572</a>
+<a href="#573" id="573">573</a>
+<a href="#574" id="574">574</a>
+<a href="#575" id="575">575</a>
+<a href="#576" id="576">576</a>
+<a href="#577" id="577">577</a>
+<a href="#578" id="578">578</a>
+<a href="#579" id="579">579</a>
+<a href="#580" id="580">580</a>
+<a href="#581" id="581">581</a>
+<a href="#582" id="582">582</a>
+<a href="#583" id="583">583</a>
+<a href="#584" id="584">584</a>
+<a href="#585" id="585">585</a>
+<a href="#586" id="586">586</a>
+<a href="#587" id="587">587</a>
+<a href="#588" id="588">588</a>
+<a href="#589" id="589">589</a>
+<a href="#590" id="590">590</a>
+<a href="#591" id="591">591</a>
+<a href="#592" id="592">592</a>
+<a href="#593" id="593">593</a>
+<a href="#594" id="594">594</a>
+<a href="#595" id="595">595</a>
+<a href="#596" id="596">596</a>
+<a href="#597" id="597">597</a>
+<a href="#598" id="598">598</a>
+<a href="#599" id="599">599</a>
+<a href="#600" id="600">600</a>
+<a href="#601" id="601">601</a>
+<a href="#602" id="602">602</a>
+<a href="#603" id="603">603</a>
+<a href="#604" id="604">604</a>
+<a href="#605" id="605">605</a>
+<a href="#606" id="606">606</a>
+<a href="#607" id="607">607</a>
+<a href="#608" id="608">608</a>
+<a href="#609" id="609">609</a>
+<a href="#610" id="610">610</a>
+<a href="#611" id="611">611</a>
+<a href="#612" id="612">612</a>
+<a href="#613" id="613">613</a>
+<a href="#614" id="614">614</a>
+<a href="#615" id="615">615</a>
+<a href="#616" id="616">616</a>
+<a href="#617" id="617">617</a>
+<a href="#618" id="618">618</a>
+<a href="#619" id="619">619</a>
+<a href="#620" id="620">620</a>
+<a href="#621" id="621">621</a>
+<a href="#622" id="622">622</a>
+<a href="#623" id="623">623</a>
+<a href="#624" id="624">624</a>
+<a href="#625" id="625">625</a>
+<a href="#626" id="626">626</a>
+<a href="#627" id="627">627</a>
+<a href="#628" id="628">628</a>
+<a href="#629" id="629">629</a>
+<a href="#630" id="630">630</a>
+<a href="#631" id="631">631</a>
+<a href="#632" id="632">632</a>
+<a href="#633" id="633">633</a>
+<a href="#634" id="634">634</a>
+<a href="#635" id="635">635</a>
+<a href="#636" id="636">636</a>
+<a href="#637" id="637">637</a>
+<a href="#638" id="638">638</a>
+<a href="#639" id="639">639</a>
+<a href="#640" id="640">640</a>
+<a href="#641" id="641">641</a>
+<a href="#642" id="642">642</a>
+<a href="#643" id="643">643</a>
+<a href="#644" id="644">644</a>
+<a href="#645" id="645">645</a>
+<a href="#646" id="646">646</a>
+<a href="#647" id="647">647</a>
+<a href="#648" id="648">648</a>
+<a href="#649" id="649">649</a>
+<a href="#650" id="650">650</a>
+<a href="#651" id="651">651</a>
+<a href="#652" id="652">652</a>
+<a href="#653" id="653">653</a>
+<a href="#654" id="654">654</a>
+<a href="#655" id="655">655</a>
+<a href="#656" id="656">656</a>
+<a href="#657" id="657">657</a>
+<a href="#658" id="658">658</a>
+<a href="#659" id="659">659</a>
+<a href="#660" id="660">660</a>
+<a href="#661" id="661">661</a>
+<a href="#662" id="662">662</a>
+<a href="#663" id="663">663</a>
+<a href="#664" id="664">664</a>
+<a href="#665" id="665">665</a>
+<a href="#666" id="666">666</a>
+<a href="#667" id="667">667</a>
+<a href="#668" id="668">668</a>
+<a href="#669" id="669">669</a>
+<a href="#670" id="670">670</a>
+<a href="#671" id="671">671</a>
+<a href="#672" id="672">672</a>
+<a href="#673" id="673">673</a>
+<a href="#674" id="674">674</a>
+<a href="#675" id="675">675</a>
+<a href="#676" id="676">676</a>
+<a href="#677" id="677">677</a>
+<a href="#678" id="678">678</a>
+<a href="#679" id="679">679</a>
+<a href="#680" id="680">680</a>
+<a href="#681" id="681">681</a>
+<a href="#682" id="682">682</a>
+<a href="#683" id="683">683</a>
+<a href="#684" id="684">684</a>
+<a href="#685" id="685">685</a>
+<a href="#686" id="686">686</a>
+<a href="#687" id="687">687</a>
+<a href="#688" id="688">688</a>
+<a href="#689" id="689">689</a>
+<a href="#690" id="690">690</a>
+<a href="#691" id="691">691</a>
+<a href="#692" id="692">692</a>
+<a href="#693" id="693">693</a>
+<a href="#694" id="694">694</a>
+<a href="#695" id="695">695</a>
+<a href="#696" id="696">696</a>
+<a href="#697" id="697">697</a>
+<a href="#698" id="698">698</a>
+<a href="#699" id="699">699</a>
+<a href="#700" id="700">700</a>
+<a href="#701" id="701">701</a>
+<a href="#702" id="702">702</a>
+<a href="#703" id="703">703</a>
+<a href="#704" id="704">704</a>
+<a href="#705" id="705">705</a>
+<a href="#706" id="706">706</a>
+<a href="#707" id="707">707</a>
+<a href="#708" id="708">708</a>
+<a href="#709" id="709">709</a>
+<a href="#710" id="710">710</a>
+<a href="#711" id="711">711</a>
+<a href="#712" id="712">712</a>
+<a href="#713" id="713">713</a>
+<a href="#714" id="714">714</a>
+<a href="#715" id="715">715</a>
+<a href="#716" id="716">716</a>
+<a href="#717" id="717">717</a>
+<a href="#718" id="718">718</a>
+<a href="#719" id="719">719</a>
+<a href="#720" id="720">720</a>
+<a href="#721" id="721">721</a>
+<a href="#722" id="722">722</a>
+<a href="#723" id="723">723</a>
+<a href="#724" id="724">724</a>
+<a href="#725" id="725">725</a>
+<a href="#726" id="726">726</a>
+<a href="#727" id="727">727</a>
+<a href="#728" id="728">728</a>
+<a href="#729" id="729">729</a>
+<a href="#730" id="730">730</a>
+<a href="#731" id="731">731</a>
+<a href="#732" id="732">732</a>
+<a href="#733" id="733">733</a>
+<a href="#734" id="734">734</a>
+<a href="#735" id="735">735</a>
+<a href="#736" id="736">736</a>
+<a href="#737" id="737">737</a>
+<a href="#738" id="738">738</a>
+<a href="#739" id="739">739</a>
+<a href="#740" id="740">740</a>
+<a href="#741" id="741">741</a>
+<a href="#742" id="742">742</a>
+<a href="#743" id="743">743</a>
+<a href="#744" id="744">744</a>
+<a href="#745" id="745">745</a>
+<a href="#746" id="746">746</a>
+<a href="#747" id="747">747</a>
+<a href="#748" id="748">748</a>
+<a href="#749" id="749">749</a>
+<a href="#750" id="750">750</a>
+<a href="#751" id="751">751</a>
+<a href="#752" id="752">752</a>
+<a href="#753" id="753">753</a>
+<a href="#754" id="754">754</a>
+<a href="#755" id="755">755</a>
+<a href="#756" id="756">756</a>
+<a href="#757" id="757">757</a>
+<a href="#758" id="758">758</a>
+<a href="#759" id="759">759</a>
+<a href="#760" id="760">760</a>
+<a href="#761" id="761">761</a>
+<a href="#762" id="762">762</a>
+<a href="#763" id="763">763</a>
+<a href="#764" id="764">764</a>
+<a href="#765" id="765">765</a>
+<a href="#766" id="766">766</a>
+<a href="#767" id="767">767</a>
+<a href="#768" id="768">768</a>
+<a href="#769" id="769">769</a>
+<a href="#770" id="770">770</a>
+<a href="#771" id="771">771</a>
+<a href="#772" id="772">772</a>
+<a href="#773" id="773">773</a>
+<a href="#774" id="774">774</a>
+<a href="#775" id="775">775</a>
+<a href="#776" id="776">776</a>
+<a href="#777" id="777">777</a>
+<a href="#778" id="778">778</a>
+<a href="#779" id="779">779</a>
+<a href="#780" id="780">780</a>
+<a href="#781" id="781">781</a>
+<a href="#782" id="782">782</a>
+<a href="#783" id="783">783</a>
+<a href="#784" id="784">784</a>
+<a href="#785" id="785">785</a>
+<a href="#786" id="786">786</a>
+<a href="#787" id="787">787</a>
+<a href="#788" id="788">788</a>
+<a href="#789" id="789">789</a>
+<a href="#790" id="790">790</a>
+<a href="#791" id="791">791</a>
+<a href="#792" id="792">792</a>
+<a href="#793" id="793">793</a>
+<a href="#794" id="794">794</a>
+<a href="#795" id="795">795</a>
+<a href="#796" id="796">796</a>
+<a href="#797" id="797">797</a>
+<a href="#798" id="798">798</a>
+<a href="#799" id="799">799</a>
+<a href="#800" id="800">800</a>
+<a href="#801" id="801">801</a>
+<a href="#802" id="802">802</a>
+<a href="#803" id="803">803</a>
+<a href="#804" id="804">804</a>
+<a href="#805" id="805">805</a>
+<a href="#806" id="806">806</a>
+<a href="#807" id="807">807</a>
+<a href="#808" id="808">808</a>
+<a href="#809" id="809">809</a>
+<a href="#810" id="810">810</a>
+<a href="#811" id="811">811</a>
+<a href="#812" id="812">812</a>
+<a href="#813" id="813">813</a>
+<a href="#814" id="814">814</a>
+<a href="#815" id="815">815</a>
+<a href="#816" id="816">816</a>
+<a href="#817" id="817">817</a>
+<a href="#818" id="818">818</a>
+<a href="#819" id="819">819</a>
+<a href="#820" id="820">820</a>
+<a href="#821" id="821">821</a>
+<a href="#822" id="822">822</a>
+<a href="#823" id="823">823</a>
+<a href="#824" id="824">824</a>
+<a href="#825" id="825">825</a>
+<a href="#826" id="826">826</a>
+<a href="#827" id="827">827</a>
+<a href="#828" id="828">828</a>
+<a href="#829" id="829">829</a>
+<a href="#830" id="830">830</a>
+<a href="#831" id="831">831</a>
+<a href="#832" id="832">832</a>
+<a href="#833" id="833">833</a>
+<a href="#834" id="834">834</a>
+<a href="#835" id="835">835</a>
+<a href="#836" id="836">836</a>
+<a href="#837" id="837">837</a>
+<a href="#838" id="838">838</a>
+<a href="#839" id="839">839</a>
+<a href="#840" id="840">840</a>
+<a href="#841" id="841">841</a>
+<a href="#842" id="842">842</a>
+<a href="#843" id="843">843</a>
+<a href="#844" id="844">844</a>
+<a href="#845" id="845">845</a>
+<a href="#846" id="846">846</a>
+<a href="#847" id="847">847</a>
+<a href="#848" id="848">848</a>
+<a href="#849" id="849">849</a>
+<a href="#850" id="850">850</a>
+<a href="#851" id="851">851</a>
+<a href="#852" id="852">852</a>
+<a href="#853" id="853">853</a>
+<a href="#854" id="854">854</a>
+<a href="#855" id="855">855</a>
+<a href="#856" id="856">856</a>
+<a href="#857" id="857">857</a>
+<a href="#858" id="858">858</a>
+<a href="#859" id="859">859</a>
+<a href="#860" id="860">860</a>
+<a href="#861" id="861">861</a>
+<a href="#862" id="862">862</a>
+<a href="#863" id="863">863</a>
+<a href="#864" id="864">864</a>
+<a href="#865" id="865">865</a>
+<a href="#866" id="866">866</a>
+<a href="#867" id="867">867</a>
+<a href="#868" id="868">868</a>
+<a href="#869" id="869">869</a>
+<a href="#870" id="870">870</a>
+<a href="#871" id="871">871</a>
+<a href="#872" id="872">872</a>
+<a href="#873" id="873">873</a>
+<a href="#874" id="874">874</a>
+<a href="#875" id="875">875</a>
+<a href="#876" id="876">876</a>
+<a href="#877" id="877">877</a>
+<a href="#878" id="878">878</a>
+<a href="#879" id="879">879</a>
+<a href="#880" id="880">880</a>
+<a href="#881" id="881">881</a>
+<a href="#882" id="882">882</a>
+<a href="#883" id="883">883</a>
+<a href="#884" id="884">884</a>
+<a href="#885" id="885">885</a>
+<a href="#886" id="886">886</a>
+<a href="#887" id="887">887</a>
+<a href="#888" id="888">888</a>
+<a href="#889" id="889">889</a>
+<a href="#890" id="890">890</a>
+<a href="#891" id="891">891</a>
+<a href="#892" id="892">892</a>
+<a href="#893" id="893">893</a>
+<a href="#894" id="894">894</a>
+<a href="#895" id="895">895</a>
+<a href="#896" id="896">896</a>
+<a href="#897" id="897">897</a>
+<a href="#898" id="898">898</a>
+<a href="#899" id="899">899</a>
+<a href="#900" id="900">900</a>
+<a href="#901" id="901">901</a>
+<a href="#902" id="902">902</a>
+<a href="#903" id="903">903</a>
+<a href="#904" id="904">904</a>
+<a href="#905" id="905">905</a>
+<a href="#906" id="906">906</a>
+<a href="#907" id="907">907</a>
+<a href="#908" id="908">908</a>
+<a href="#909" id="909">909</a>
+<a href="#910" id="910">910</a>
+<a href="#911" id="911">911</a>
+<a href="#912" id="912">912</a>
+<a href="#913" id="913">913</a>
+<a href="#914" id="914">914</a>
+<a href="#915" id="915">915</a>
+<a href="#916" id="916">916</a>
+<a href="#917" id="917">917</a>
+<a href="#918" id="918">918</a>
+<a href="#919" id="919">919</a>
+<a href="#920" id="920">920</a>
+<a href="#921" id="921">921</a>
+<a href="#922" id="922">922</a>
+<a href="#923" id="923">923</a>
+<a href="#924" id="924">924</a>
+<a href="#925" id="925">925</a>
+<a href="#926" id="926">926</a>
+<a href="#927" id="927">927</a>
+<a href="#928" id="928">928</a>
+<a href="#929" id="929">929</a>
+<a href="#930" id="930">930</a>
+<a href="#931" id="931">931</a>
+<a href="#932" id="932">932</a>
+<a href="#933" id="933">933</a>
+<a href="#934" id="934">934</a>
+<a href="#935" id="935">935</a>
+<a href="#936" id="936">936</a>
+<a href="#937" id="937">937</a>
+<a href="#938" id="938">938</a>
+<a href="#939" id="939">939</a>
+<a href="#940" id="940">940</a>
+<a href="#941" id="941">941</a>
+<a href="#942" id="942">942</a>
+<a href="#943" id="943">943</a>
+<a href="#944" id="944">944</a>
+<a href="#945" id="945">945</a>
+<a href="#946" id="946">946</a>
+</pre></div><pre class="rust"><code><span class="doccomment">//! [`KeychainTxOutIndex`] controls how script pubkeys are revealed for multiple keychains and
+//! indexes [`TxOut`]s with them.
+
+</span><span class="kw">use crate</span>::{
+ collections::<span class="kw-2">*</span>,
+ miniscript::{Descriptor, DescriptorPublicKey},
+ spk_iter::BIP32_MAX_INDEX,
+ DescriptorExt, DescriptorId, Indexed, Indexer, KeychainIndexed, SpkIterator, SpkTxOutIndex,
+};
+<span class="kw">use </span>alloc::{borrow::ToOwned, vec::Vec};
+<span class="kw">use </span>bitcoin::{Amount, OutPoint, Script, ScriptBuf, SignedAmount, Transaction, TxOut, Txid};
+<span class="kw">use </span>core::{
+ fmt::Debug,
+ ops::{Bound, RangeBounds},
+};
+
+<span class="kw">use </span><span class="kw">crate</span>::Append;
+
+<span class="doccomment">/// The default lookahead for a [`KeychainTxOutIndex`]
+</span><span class="kw">pub const </span>DEFAULT_LOOKAHEAD: u32 = <span class="number">25</span>;
+
+<span class="doccomment">/// [`KeychainTxOutIndex`] controls how script pubkeys are revealed for multiple keychains, and
+/// indexes [`TxOut`]s with them.
+///
+/// A single keychain is a chain of script pubkeys derived from a single [`Descriptor`]. Keychains
+/// are identified using the `K` generic. Script pubkeys are identified by the keychain that they
+/// are derived from `K`, as well as the derivation index `u32`.
+///
+/// There is a strict 1-to-1 relationship between descriptors and keychains. Each keychain has one
+/// and only one descriptor and each descriptor has one and only one keychain. The
+/// [`insert_descriptor`] method will return an error if you try and violate this invariant. This
+/// rule is a proxy for a stronger rule: no two descriptors should produce the same script pubkey.
+/// Having two descriptors produce the same script pubkey should cause whichever keychain derives
+/// the script pubkey first to be the effective owner of it but you should not rely on this
+/// behaviour. ⚠ It is up you, the developer, not to violate this invariant.
+///
+/// # Revealed script pubkeys
+///
+/// Tracking how script pubkeys are revealed is useful for collecting chain data. For example, if
+/// the user has requested 5 script pubkeys (to receive money with), we only need to use those
+/// script pubkeys to scan for chain data.
+///
+/// Call [`reveal_to_target`] or [`reveal_next_spk`] to reveal more script pubkeys.
+/// Call [`revealed_keychain_spks`] or [`revealed_spks`] to iterate through revealed script pubkeys.
+///
+/// # Lookahead script pubkeys
+///
+/// When an user first recovers a wallet (i.e. from a recovery phrase and/or descriptor), we will
+/// NOT have knowledge of which script pubkeys are revealed. So when we index a transaction or
+/// txout (using [`index_tx`]/[`index_txout`]) we scan the txouts against script pubkeys derived
+/// above the last revealed index. These additionally-derived script pubkeys are called the
+/// lookahead.
+///
+/// The [`KeychainTxOutIndex`] is constructed with the `lookahead` and cannot be altered. See
+/// [`DEFAULT_LOOKAHEAD`] for the value used in the `Default` implementation. Use [`new`] to set a
+/// custom `lookahead`.
+///
+/// # Unbounded script pubkey iterator
+///
+/// For script-pubkey-based chain sources (such as Electrum/Esplora), an initial scan is best done
+/// by iterating though derived script pubkeys one by one and requesting transaction histories for
+/// each script pubkey. We will stop after x-number of script pubkeys have empty histories. An
+/// unbounded script pubkey iterator is useful to pass to such a chain source because it doesn't
+/// require holding a reference to the index.
+///
+/// Call [`unbounded_spk_iter`] to get an unbounded script pubkey iterator for a given keychain.
+/// Call [`all_unbounded_spk_iters`] to get unbounded script pubkey iterators for all keychains.
+///
+/// # Change sets
+///
+/// Methods that can update the last revealed index or add keychains will return [`ChangeSet`] to report
+/// these changes. This should be persisted for future recovery.
+///
+/// ## Synopsis
+///
+/// ```
+/// use bdk_chain::indexer::keychain_txout::KeychainTxOutIndex;
+/// # use bdk_chain::{ miniscript::{Descriptor, DescriptorPublicKey} };
+/// # use core::str::FromStr;
+///
+/// // imagine our service has internal and external addresses but also addresses for users
+/// #[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd)]
+/// enum MyKeychain {
+/// External,
+/// Internal,
+/// MyAppUser {
+/// user_id: u32
+/// }
+/// }
+///
+/// let mut txout_index = KeychainTxOutIndex::<MyKeychain>::default();
+///
+/// # let secp = bdk_chain::bitcoin::secp256k1::Secp256k1::signing_only();
+/// # let (external_descriptor,_) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/0/*)").unwrap();
+/// # let (internal_descriptor,_) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/1/*)").unwrap();
+/// # let (descriptor_42, _) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/2/*)").unwrap();
+/// let _ = txout_index.insert_descriptor(MyKeychain::External, external_descriptor)?;
+/// let _ = txout_index.insert_descriptor(MyKeychain::Internal, internal_descriptor)?;
+/// let _ = txout_index.insert_descriptor(MyKeychain::MyAppUser { user_id: 42 }, descriptor_42)?;
+///
+/// let new_spk_for_user = txout_index.reveal_next_spk(&MyKeychain::MyAppUser{ user_id: 42 });
+/// # Ok::<_, bdk_chain::indexer::keychain_txout::InsertDescriptorError<_>>(())
+/// ```
+///
+/// [`Ord`]: core::cmp::Ord
+/// [`SpkTxOutIndex`]: crate::spk_txout_index::SpkTxOutIndex
+/// [`Descriptor`]: crate::miniscript::Descriptor
+/// [`reveal_to_target`]: Self::reveal_to_target
+/// [`reveal_next_spk`]: Self::reveal_next_spk
+/// [`revealed_keychain_spks`]: Self::revealed_keychain_spks
+/// [`revealed_spks`]: Self::revealed_spks
+/// [`index_tx`]: Self::index_tx
+/// [`index_txout`]: Self::index_txout
+/// [`new`]: Self::new
+/// [`unbounded_spk_iter`]: Self::unbounded_spk_iter
+/// [`all_unbounded_spk_iters`]: Self::all_unbounded_spk_iters
+/// [`outpoints`]: Self::outpoints
+/// [`txouts`]: Self::txouts
+/// [`unused_spks`]: Self::unused_spks
+/// [`insert_descriptor`]: Self::insert_descriptor
+</span><span class="attr">#[derive(Clone, Debug)]
+</span><span class="kw">pub struct </span>KeychainTxOutIndex<K> {
+ inner: SpkTxOutIndex<(K, u32)>,
+ keychain_to_descriptor_id: BTreeMap<K, DescriptorId>,
+ descriptor_id_to_keychain: HashMap<DescriptorId, K>,
+ descriptors: HashMap<DescriptorId, Descriptor<DescriptorPublicKey>>,
+ last_revealed: HashMap<DescriptorId, u32>,
+ lookahead: u32,
+}
+
+<span class="kw">impl</span><K> Default <span class="kw">for </span>KeychainTxOutIndex<K> {
+ <span class="kw">fn </span>default() -> <span class="self">Self </span>{
+ <span class="self">Self</span>::new(DEFAULT_LOOKAHEAD)
+ }
+}
+
+<span class="kw">impl</span><K: Clone + Ord + Debug> Indexer <span class="kw">for </span>KeychainTxOutIndex<K> {
+ <span class="kw">type </span>ChangeSet = ChangeSet<K>;
+
+ <span class="kw">fn </span>index_txout(<span class="kw-2">&mut </span><span class="self">self</span>, outpoint: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="self">Self</span>::ChangeSet {
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
+ <span class="kw">if let </span><span class="prelude-val">Some</span>((keychain, index)) = <span class="self">self</span>.inner.scan_txout(outpoint, txout).cloned() {
+ <span class="kw">let </span>did = <span class="self">self
+ </span>.keychain_to_descriptor_id
+ .get(<span class="kw-2">&</span>keychain)
+ .expect(<span class="string">"invariant"</span>);
+ <span class="kw">if </span><span class="self">self</span>.last_revealed.get(did) < <span class="prelude-val">Some</span>(<span class="kw-2">&</span>index) {
+ <span class="self">self</span>.last_revealed.insert(<span class="kw-2">*</span>did, index);
+ changeset.last_revealed.insert(<span class="kw-2">*</span>did, index);
+ <span class="self">self</span>.replenish_inner_index(<span class="kw-2">*</span>did, <span class="kw-2">&</span>keychain, <span class="self">self</span>.lookahead);
+ }
+ }
+ changeset
+ }
+
+ <span class="kw">fn </span>index_tx(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>bitcoin::Transaction) -> <span class="self">Self</span>::ChangeSet {
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::<K>::default();
+ <span class="kw">let </span>txid = tx.compute_txid();
+ <span class="kw">for </span>(op, txout) <span class="kw">in </span>tx.output.iter().enumerate() {
+ changeset.append(<span class="self">self</span>.index_txout(OutPoint::new(txid, op <span class="kw">as </span>u32), txout));
+ }
+ changeset
+ }
+
+ <span class="kw">fn </span>initial_changeset(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="self">Self</span>::ChangeSet {
+ ChangeSet {
+ keychains_added: <span class="self">self
+ </span>.keychains()
+ .map(|(k, v)| (k.clone(), v.clone()))
+ .collect(),
+ last_revealed: <span class="self">self</span>.last_revealed.clone().into_iter().collect(),
+ }
+ }
+
+ <span class="kw">fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, changeset: <span class="self">Self</span>::ChangeSet) {
+ <span class="self">self</span>.apply_changeset(changeset)
+ }
+
+ <span class="kw">fn </span>is_tx_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>bitcoin::Transaction) -> bool {
+ <span class="self">self</span>.inner.is_relevant(tx)
+ }
+}
+
+<span class="kw">impl</span><K> KeychainTxOutIndex<K> {
+ <span class="doccomment">/// Construct a [`KeychainTxOutIndex`] with the given `lookahead`.
+ ///
+ /// The `lookahead` is the number of script pubkeys to derive and cache from the internal
+ /// descriptors over and above the last revealed script index. Without a lookahead the index
+ /// will miss outputs you own when processing transactions whose output script pubkeys lie
+ /// beyond the last revealed index. In certain situations, such as when performing an initial
+ /// scan of the blockchain during wallet import, it may be uncertain or unknown what the index
+ /// of the last revealed script pubkey actually is.
+ ///
+ /// Refer to [struct-level docs](KeychainTxOutIndex) for more about `lookahead`.
+ </span><span class="kw">pub fn </span>new(lookahead: u32) -> <span class="self">Self </span>{
+ <span class="self">Self </span>{
+ inner: SpkTxOutIndex::default(),
+ keychain_to_descriptor_id: Default::default(),
+ descriptors: Default::default(),
+ descriptor_id_to_keychain: Default::default(),
+ last_revealed: Default::default(),
+ lookahead,
+ }
+ }
+}
+
+<span class="doccomment">/// Methods that are *re-exposed* from the internal [`SpkTxOutIndex`].
+</span><span class="kw">impl</span><K: Clone + Ord + Debug> KeychainTxOutIndex<K> {
+ <span class="doccomment">/// Return a reference to the internal [`SpkTxOutIndex`].
+ ///
+ /// **WARNING**: The internal index will contain lookahead spks. Refer to
+ /// [struct-level docs](KeychainTxOutIndex) for more about `lookahead`.
+ </span><span class="kw">pub fn </span>inner(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>SpkTxOutIndex<(K, u32)> {
+ <span class="kw-2">&</span><span class="self">self</span>.inner
+ }
+
+ <span class="doccomment">/// Get the set of indexed outpoints, corresponding to tracked keychains.
+ </span><span class="kw">pub fn </span>outpoints(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>BTreeSet<KeychainIndexed<K, OutPoint>> {
+ <span class="self">self</span>.inner.outpoints()
+ }
+
+ <span class="doccomment">/// Iterate over known txouts that spend to tracked script pubkeys.
+ </span><span class="kw">pub fn </span>txouts(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, (OutPoint, <span class="kw-2">&</span>TxOut)>> + ExactSizeIterator
+ {
+ <span class="self">self</span>.inner
+ .txouts()
+ .map(|(index, op, txout)| (index.clone(), (op, txout)))
+ }
+
+ <span class="doccomment">/// Finds all txouts on a transaction that has previously been scanned and indexed.
+ </span><span class="kw">pub fn </span>txouts_in_tx(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ txid: Txid,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, (OutPoint, <span class="kw-2">&</span>TxOut)>> {
+ <span class="self">self</span>.inner
+ .txouts_in_tx(txid)
+ .map(|(index, op, txout)| (index.clone(), (op, txout)))
+ }
+
+ <span class="doccomment">/// Return the [`TxOut`] of `outpoint` if it has been indexed, and if it corresponds to a
+ /// tracked keychain.
+ ///
+ /// The associated keychain and keychain index of the txout's spk is also returned.
+ ///
+ /// This calls [`SpkTxOutIndex::txout`] internally.
+ </span><span class="kw">pub fn </span>txout(<span class="kw-2">&</span><span class="self">self</span>, outpoint: OutPoint) -> <span class="prelude-ty">Option</span><KeychainIndexed<K, <span class="kw-2">&</span>TxOut>> {
+ <span class="self">self</span>.inner
+ .txout(outpoint)
+ .map(|(index, txout)| (index.clone(), txout))
+ }
+
+ <span class="doccomment">/// Return the script that exists under the given `keychain`'s `index`.
+ ///
+ /// This calls [`SpkTxOutIndex::spk_at_index`] internally.
+ </span><span class="kw">pub fn </span>spk_at_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: K, index: u32) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>Script> {
+ <span class="self">self</span>.inner.spk_at_index(<span class="kw-2">&</span>(keychain.clone(), index))
+ }
+
+ <span class="doccomment">/// Returns the keychain and keychain index associated with the spk.
+ ///
+ /// This calls [`SpkTxOutIndex::index_of_spk`] internally.
+ </span><span class="kw">pub fn </span>index_of_spk(<span class="kw-2">&</span><span class="self">self</span>, script: <span class="kw-2">&</span>Script) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>(K, u32)> {
+ <span class="self">self</span>.inner.index_of_spk(script)
+ }
+
+ <span class="doccomment">/// Returns whether the spk under the `keychain`'s `index` has been used.
+ ///
+ /// Here, "unused" means that after the script pubkey was stored in the index, the index has
+ /// never scanned a transaction output with it.
+ ///
+ /// This calls [`SpkTxOutIndex::is_used`] internally.
+ </span><span class="kw">pub fn </span>is_used(<span class="kw-2">&</span><span class="self">self</span>, keychain: K, index: u32) -> bool {
+ <span class="self">self</span>.inner.is_used(<span class="kw-2">&</span>(keychain, index))
+ }
+
+ <span class="doccomment">/// Marks the script pubkey at `index` as used even though the tracker hasn't seen an output
+ /// with it.
+ ///
+ /// This only has an effect when the `index` had been added to `self` already and was unused.
+ ///
+ /// Returns whether the spk under the given `keychain` and `index` is successfully
+ /// marked as used. Returns false either when there is no descriptor under the given
+ /// keychain, or when the spk is already marked as used.
+ ///
+ /// This is useful when you want to reserve a script pubkey for something but don't want to add
+ /// the transaction output using it to the index yet. Other callers will consider `index` on
+ /// `keychain` used until you call [`unmark_used`].
+ ///
+ /// This calls [`SpkTxOutIndex::mark_used`] internally.
+ ///
+ /// [`unmark_used`]: Self::unmark_used
+ </span><span class="kw">pub fn </span>mark_used(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: K, index: u32) -> bool {
+ <span class="self">self</span>.inner.mark_used(<span class="kw-2">&</span>(keychain, index))
+ }
+
+ <span class="doccomment">/// Undoes the effect of [`mark_used`]. Returns whether the `index` is inserted back into
+ /// `unused`.
+ ///
+ /// Note that if `self` has scanned an output with this script pubkey, then this will have no
+ /// effect.
+ ///
+ /// This calls [`SpkTxOutIndex::unmark_used`] internally.
+ ///
+ /// [`mark_used`]: Self::mark_used
+ </span><span class="kw">pub fn </span>unmark_used(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: K, index: u32) -> bool {
+ <span class="self">self</span>.inner.unmark_used(<span class="kw-2">&</span>(keychain, index))
+ }
+
+ <span class="doccomment">/// Computes the total value transfer effect `tx` has on the script pubkeys belonging to the
+ /// keychains in `range`. Value is *sent* when a script pubkey in the `range` is on an input and
+ /// *received* when it is on an output. For `sent` to be computed correctly, the output being
+ /// spent must have already been scanned by the index. Calculating received just uses the
+ /// [`Transaction`] outputs directly, so it will be correct even if it has not been scanned.
+ </span><span class="kw">pub fn </span>sent_and_received(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ tx: <span class="kw-2">&</span>Transaction,
+ range: <span class="kw">impl </span>RangeBounds<K>,
+ ) -> (Amount, Amount) {
+ <span class="self">self</span>.inner
+ .sent_and_received(tx, <span class="self">self</span>.map_to_inner_bounds(range))
+ }
+
+ <span class="doccomment">/// Computes the net value that this transaction gives to the script pubkeys in the index and
+ /// *takes* from the transaction outputs in the index. Shorthand for calling
+ /// [`sent_and_received`] and subtracting sent from received.
+ ///
+ /// This calls [`SpkTxOutIndex::net_value`] internally.
+ ///
+ /// [`sent_and_received`]: Self::sent_and_received
+ </span><span class="kw">pub fn </span>net_value(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction, range: <span class="kw">impl </span>RangeBounds<K>) -> SignedAmount {
+ <span class="self">self</span>.inner.net_value(tx, <span class="self">self</span>.map_to_inner_bounds(range))
+ }
+}
+
+<span class="kw">impl</span><K: Clone + Ord + Debug> KeychainTxOutIndex<K> {
+ <span class="doccomment">/// Return all keychains and their corresponding descriptors.
+ </span><span class="kw">pub fn </span>keychains(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>K, <span class="kw-2">&</span>Descriptor<DescriptorPublicKey>)> + ExactSizeIterator + <span class="lifetime">'_
+ </span>{
+ <span class="self">self</span>.keychain_to_descriptor_id
+ .iter()
+ .map(|(k, did)| (k, <span class="self">self</span>.descriptors.get(did).expect(<span class="string">"invariant"</span>)))
+ }
+
+ <span class="doccomment">/// Insert a descriptor with a keychain associated to it.
+ ///
+ /// Adding a descriptor means you will be able to derive new script pubkeys under it and the
+ /// txout index will discover transaction outputs with those script pubkeys (once they've been
+ /// derived and added to the index).
+ ///
+ /// keychain <-> descriptor is a one-to-one mapping that cannot be changed. Attempting to do so
+ /// will return a [`InsertDescriptorError<K>`].
+ ///
+ /// `[KeychainTxOutIndex]` will prevent you from inserting two descriptors which derive the same
+ /// script pubkey at index 0, but it's up to you to ensure that descriptors don't collide at
+ /// other indices. If they do nothing catastrophic happens at the `KeychainTxOutIndex` level
+ /// (one keychain just becomes the defacto owner of that spk arbitrarily) but this may have
+ /// subtle implications up the application stack like one UTXO being missing from one keychain
+ /// because it has been assigned to another which produces the same script pubkey.
+ </span><span class="kw">pub fn </span>insert_descriptor(
+ <span class="kw-2">&mut </span><span class="self">self</span>,
+ keychain: K,
+ descriptor: Descriptor<DescriptorPublicKey>,
+ ) -> <span class="prelude-ty">Result</span><ChangeSet<K>, InsertDescriptorError<K>> {
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::<K>::default();
+ <span class="kw">let </span>did = descriptor.descriptor_id();
+ <span class="kw">if </span>!<span class="self">self</span>.keychain_to_descriptor_id.contains_key(<span class="kw-2">&</span>keychain)
+ && !<span class="self">self</span>.descriptor_id_to_keychain.contains_key(<span class="kw-2">&</span>did)
+ {
+ <span class="self">self</span>.descriptors.insert(did, descriptor.clone());
+ <span class="self">self</span>.keychain_to_descriptor_id.insert(keychain.clone(), did);
+ <span class="self">self</span>.descriptor_id_to_keychain.insert(did, keychain.clone());
+ <span class="self">self</span>.replenish_inner_index(did, <span class="kw-2">&</span>keychain, <span class="self">self</span>.lookahead);
+ changeset
+ .keychains_added
+ .insert(keychain.clone(), descriptor);
+ } <span class="kw">else </span>{
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(existing_desc_id) = <span class="self">self</span>.keychain_to_descriptor_id.get(<span class="kw-2">&</span>keychain) {
+ <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(existing_desc_id).expect(<span class="string">"invariant"</span>);
+ <span class="kw">if </span><span class="kw-2">*</span>existing_desc_id != did {
+ <span class="kw">return </span><span class="prelude-val">Err</span>(InsertDescriptorError::KeychainAlreadyAssigned {
+ existing_assignment: descriptor.clone(),
+ keychain,
+ });
+ }
+ }
+
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(existing_keychain) = <span class="self">self</span>.descriptor_id_to_keychain.get(<span class="kw-2">&</span>did) {
+ <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(<span class="kw-2">&</span>did).expect(<span class="string">"invariant"</span>).clone();
+
+ <span class="kw">if </span><span class="kw-2">*</span>existing_keychain != keychain {
+ <span class="kw">return </span><span class="prelude-val">Err</span>(InsertDescriptorError::DescriptorAlreadyAssigned {
+ existing_assignment: existing_keychain.clone(),
+ descriptor,
+ });
+ }
+ }
+ }
+
+ <span class="prelude-val">Ok</span>(changeset)
+ }
+
+ <span class="doccomment">/// Gets the descriptor associated with the keychain. Returns `None` if the keychain doesn't
+ /// have a descriptor associated with it.
+ </span><span class="kw">pub fn </span>get_descriptor(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>Descriptor<DescriptorPublicKey>> {
+ <span class="kw">let </span>did = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
+ <span class="self">self</span>.descriptors.get(did)
+ }
+
+ <span class="doccomment">/// Get the lookahead setting.
+ ///
+ /// Refer to [`new`] for more information on the `lookahead`.
+ ///
+ /// [`new`]: Self::new
+ </span><span class="kw">pub fn </span>lookahead(<span class="kw-2">&</span><span class="self">self</span>) -> u32 {
+ <span class="self">self</span>.lookahead
+ }
+
+ <span class="doccomment">/// Store lookahead scripts until `target_index` (inclusive).
+ ///
+ /// This does not change the global `lookahead` setting.
+ </span><span class="kw">pub fn </span>lookahead_to_target(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K, target_index: u32) {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>((next_index, <span class="kw">_</span>)) = <span class="self">self</span>.next_index(keychain) {
+ <span class="kw">let </span>temp_lookahead = (target_index + <span class="number">1</span>)
+ .checked_sub(next_index)
+ .filter(|<span class="kw-2">&</span>index| index > <span class="number">0</span>);
+
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(temp_lookahead) = temp_lookahead {
+ <span class="self">self</span>.replenish_inner_index_keychain(keychain, temp_lookahead);
+ }
+ }
+ }
+
+ <span class="kw">fn </span>replenish_inner_index_did(<span class="kw-2">&mut </span><span class="self">self</span>, did: DescriptorId, lookahead: u32) {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(keychain) = <span class="self">self</span>.descriptor_id_to_keychain.get(<span class="kw-2">&</span>did).cloned() {
+ <span class="self">self</span>.replenish_inner_index(did, <span class="kw-2">&</span>keychain, lookahead);
+ }
+ }
+
+ <span class="kw">fn </span>replenish_inner_index_keychain(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K, lookahead: u32) {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(did) = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain) {
+ <span class="self">self</span>.replenish_inner_index(<span class="kw-2">*</span>did, keychain, lookahead);
+ }
+ }
+
+ <span class="doccomment">/// Syncs the state of the inner spk index after changes to a keychain
+ </span><span class="kw">fn </span>replenish_inner_index(<span class="kw-2">&mut </span><span class="self">self</span>, did: DescriptorId, keychain: <span class="kw-2">&</span>K, lookahead: u32) {
+ <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(<span class="kw-2">&</span>did).expect(<span class="string">"invariant"</span>);
+ <span class="kw">let </span>next_store_index = <span class="self">self
+ </span>.inner
+ .all_spks()
+ .range(<span class="kw-2">&</span>(keychain.clone(), u32::MIN)..=<span class="kw-2">&</span>(keychain.clone(), u32::MAX))
+ .last()
+ .map_or(<span class="number">0</span>, |((<span class="kw">_</span>, index), <span class="kw">_</span>)| <span class="kw-2">*</span>index + <span class="number">1</span>);
+ <span class="kw">let </span>next_reveal_index = <span class="self">self</span>.last_revealed.get(<span class="kw-2">&</span>did).map_or(<span class="number">0</span>, |v| <span class="kw-2">*</span>v + <span class="number">1</span>);
+ <span class="kw">for </span>(new_index, new_spk) <span class="kw">in
+ </span>SpkIterator::new_with_range(descriptor, next_store_index..next_reveal_index + lookahead)
+ {
+ <span class="kw">let </span>_inserted = <span class="self">self
+ </span>.inner
+ .insert_spk((keychain.clone(), new_index), new_spk);
+ <span class="macro">debug_assert!</span>(_inserted, <span class="string">"replenish lookahead: must not have existing spk: keychain={:?}, lookahead={}, next_store_index={}, next_reveal_index={}"</span>, keychain, lookahead, next_store_index, next_reveal_index);
+ }
+ }
+
+ <span class="doccomment">/// Get an unbounded spk iterator over a given `keychain`. Returns `None` if the provided
+ /// keychain doesn't exist
+ </span><span class="kw">pub fn </span>unbounded_spk_iter(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ keychain: <span class="kw-2">&</span>K,
+ ) -> <span class="prelude-ty">Option</span><SpkIterator<Descriptor<DescriptorPublicKey>>> {
+ <span class="kw">let </span>descriptor = <span class="self">self</span>.get_descriptor(keychain)<span class="question-mark">?</span>.clone();
+ <span class="prelude-val">Some</span>(SpkIterator::new(descriptor))
+ }
+
+ <span class="doccomment">/// Get unbounded spk iterators for all keychains.
+ </span><span class="kw">pub fn </span>all_unbounded_spk_iters(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ ) -> BTreeMap<K, SpkIterator<Descriptor<DescriptorPublicKey>>> {
+ <span class="self">self</span>.keychain_to_descriptor_id
+ .iter()
+ .map(|(k, did)| {
+ (
+ k.clone(),
+ SpkIterator::new(<span class="self">self</span>.descriptors.get(did).expect(<span class="string">"invariant"</span>).clone()),
+ )
+ })
+ .collect()
+ }
+
+ <span class="doccomment">/// Iterate over revealed spks of keychains in `range`
+ </span><span class="kw">pub fn </span>revealed_spks(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ range: <span class="kw">impl </span>RangeBounds<K>,
+ ) -> <span class="kw">impl </span>Iterator<Item = KeychainIndexed<K, <span class="kw-2">&</span>Script>> {
+ <span class="kw">let </span>start = range.start_bound();
+ <span class="kw">let </span>end = range.end_bound();
+ <span class="kw">let </span><span class="kw-2">mut </span>iter_last_revealed = <span class="self">self
+ </span>.keychain_to_descriptor_id
+ .range((start, end))
+ .map(|(k, did)| (k, <span class="self">self</span>.last_revealed.get(did).cloned()));
+ <span class="kw">let </span><span class="kw-2">mut </span>iter_spks = <span class="self">self
+ </span>.inner
+ .all_spks()
+ .range(<span class="self">self</span>.map_to_inner_bounds((start, end)));
+ <span class="kw">let </span><span class="kw-2">mut </span>current_keychain = iter_last_revealed.next();
+ <span class="comment">// The reason we need a tricky algorithm is because of the "lookahead" feature which means
+ // that some of the spks in the SpkTxoutIndex will not have been revealed yet. So we need to
+ // filter out those spks that are above the last_revealed for that keychain. To do this we
+ // iterate through the last_revealed for each keychain and the spks for each keychain in
+ // tandem. This minimizes BTreeMap queries.
+ </span>core::iter::from_fn(<span class="kw">move </span>|| <span class="kw">loop </span>{
+ <span class="kw">let </span>((keychain, index), spk) = iter_spks.next()<span class="question-mark">?</span>;
+ <span class="comment">// We need to find the last revealed that matches the current spk we are considering so
+ // we skip ahead.
+ </span><span class="kw">while </span>current_keychain<span class="question-mark">?</span>.<span class="number">0 </span>< keychain {
+ current_keychain = iter_last_revealed.next();
+ }
+ <span class="kw">let </span>(current_keychain, last_revealed) = current_keychain<span class="question-mark">?</span>;
+
+ <span class="kw">if </span>current_keychain == keychain && <span class="prelude-val">Some</span>(<span class="kw-2">*</span>index) <= last_revealed {
+ <span class="kw">break </span><span class="prelude-val">Some</span>(((keychain.clone(), <span class="kw-2">*</span>index), spk.as_script()));
+ }
+ })
+ }
+
+ <span class="doccomment">/// Iterate over revealed spks of the given `keychain` with ascending indices.
+ ///
+ /// This is a double ended iterator so you can easily reverse it to get an iterator where
+ /// the script pubkeys that were most recently revealed are first.
+ </span><span class="kw">pub fn </span>revealed_keychain_spks<<span class="lifetime">'a</span>>(
+ <span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>,
+ keychain: <span class="kw-2">&</span><span class="lifetime">'a </span>K,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = Indexed<<span class="kw-2">&</span>Script>> + <span class="lifetime">'a </span>{
+ <span class="kw">let </span>end = <span class="self">self
+ </span>.last_revealed_index(keychain)
+ .map(|v| v + <span class="number">1</span>)
+ .unwrap_or(<span class="number">0</span>);
+ <span class="self">self</span>.inner
+ .all_spks()
+ .range((keychain.clone(), <span class="number">0</span>)..(keychain.clone(), end))
+ .map(|((<span class="kw">_</span>, index), spk)| (<span class="kw-2">*</span>index, spk.as_script()))
+ }
+
+ <span class="doccomment">/// Iterate over revealed, but unused, spks of all keychains.
+ </span><span class="kw">pub fn </span>unused_spks(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, <span class="kw-2">&</span>Script>> + Clone {
+ <span class="self">self</span>.keychain_to_descriptor_id.keys().flat_map(|keychain| {
+ <span class="self">self</span>.unused_keychain_spks(keychain)
+ .map(|(i, spk)| ((keychain.clone(), i), spk))
+ })
+ }
+
+ <span class="doccomment">/// Iterate over revealed, but unused, spks of the given `keychain`.
+ /// Returns an empty iterator if the provided keychain doesn't exist.
+ </span><span class="kw">pub fn </span>unused_keychain_spks(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ keychain: <span class="kw-2">&</span>K,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = Indexed<<span class="kw-2">&</span>Script>> + Clone {
+ <span class="kw">let </span>end = <span class="kw">match </span><span class="self">self</span>.keychain_to_descriptor_id.get(keychain) {
+ <span class="prelude-val">Some</span>(did) => <span class="self">self</span>.last_revealed.get(did).map(|v| <span class="kw-2">*</span>v + <span class="number">1</span>).unwrap_or(<span class="number">0</span>),
+ <span class="prelude-val">None </span>=> <span class="number">0</span>,
+ };
+
+ <span class="self">self</span>.inner
+ .unused_spks((keychain.clone(), <span class="number">0</span>)..(keychain.clone(), end))
+ .map(|((<span class="kw">_</span>, i), spk)| (<span class="kw-2">*</span>i, spk))
+ }
+
+ <span class="doccomment">/// Get the next derivation index for `keychain`. The next index is the index after the last revealed
+ /// derivation index.
+ ///
+ /// The second field in the returned tuple represents whether the next derivation index is new.
+ /// There are two scenarios where the next derivation index is reused (not new):
+ ///
+ /// 1. The keychain's descriptor has no wildcard, and a script has already been revealed.
+ /// 2. The number of revealed scripts has already reached 2^31 (refer to BIP-32).
+ ///
+ /// Not checking the second field of the tuple may result in address reuse.
+ ///
+ /// Returns None if the provided `keychain` doesn't exist.
+ </span><span class="kw">pub fn </span>next_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><(u32, bool)> {
+ <span class="kw">let </span>did = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
+ <span class="kw">let </span>last_index = <span class="self">self</span>.last_revealed.get(did).cloned();
+ <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(did).expect(<span class="string">"invariant"</span>);
+
+ <span class="comment">// we can only get the next index if the wildcard exists.
+ </span><span class="kw">let </span>has_wildcard = descriptor.has_wildcard();
+
+ <span class="prelude-val">Some</span>(<span class="kw">match </span>last_index {
+ <span class="comment">// if there is no index, next_index is always 0.
+ </span><span class="prelude-val">None </span>=> (<span class="number">0</span>, <span class="bool-val">true</span>),
+ <span class="comment">// descriptors without wildcards can only have one index.
+ </span><span class="prelude-val">Some</span>(<span class="kw">_</span>) <span class="kw">if </span>!has_wildcard => (<span class="number">0</span>, <span class="bool-val">false</span>),
+ <span class="comment">// derivation index must be < 2^31 (BIP-32).
+ </span><span class="prelude-val">Some</span>(index) <span class="kw">if </span>index > BIP32_MAX_INDEX => {
+ <span class="macro">unreachable!</span>(<span class="string">"index is out of bounds"</span>)
+ }
+ <span class="prelude-val">Some</span>(index) <span class="kw">if </span>index == BIP32_MAX_INDEX => (index, <span class="bool-val">false</span>),
+ <span class="comment">// get the next derivation index.
+ </span><span class="prelude-val">Some</span>(index) => (index + <span class="number">1</span>, <span class="bool-val">true</span>),
+ })
+ }
+
+ <span class="doccomment">/// Get the last derivation index that is revealed for each keychain.
+ ///
+ /// Keychains with no revealed indices will not be included in the returned [`BTreeMap`].
+ </span><span class="kw">pub fn </span>last_revealed_indices(<span class="kw-2">&</span><span class="self">self</span>) -> BTreeMap<K, u32> {
+ <span class="self">self</span>.last_revealed
+ .iter()
+ .filter_map(|(desc_id, index)| {
+ <span class="kw">let </span>keychain = <span class="self">self</span>.descriptor_id_to_keychain.get(desc_id)<span class="question-mark">?</span>;
+ <span class="prelude-val">Some</span>((keychain.clone(), <span class="kw-2">*</span>index))
+ })
+ .collect()
+ }
+
+ <span class="doccomment">/// Get the last derivation index revealed for `keychain`. Returns None if the keychain doesn't
+ /// exist, or if the keychain doesn't have any revealed scripts.
+ </span><span class="kw">pub fn </span>last_revealed_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><u32> {
+ <span class="kw">let </span>descriptor_id = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
+ <span class="self">self</span>.last_revealed.get(descriptor_id).cloned()
+ }
+
+ <span class="doccomment">/// Convenience method to call [`Self::reveal_to_target`] on multiple keychains.
+ </span><span class="kw">pub fn </span>reveal_to_target_multi(<span class="kw-2">&mut </span><span class="self">self</span>, keychains: <span class="kw-2">&</span>BTreeMap<K, u32>) -> ChangeSet<K> {
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
+
+ <span class="kw">for </span>(keychain, <span class="kw-2">&</span>index) <span class="kw">in </span>keychains {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>((<span class="kw">_</span>, new_changeset)) = <span class="self">self</span>.reveal_to_target(keychain, index) {
+ changeset.append(new_changeset);
+ }
+ }
+
+ changeset
+ }
+
+ <span class="doccomment">/// Reveals script pubkeys of the `keychain`'s descriptor **up to and including** the
+ /// `target_index`.
+ ///
+ /// If the `target_index` cannot be reached (due to the descriptor having no wildcard and/or
+ /// the `target_index` is in the hardened index range), this method will make a best-effort and
+ /// reveal up to the last possible index.
+ ///
+ /// This returns list of newly revealed indices (alongside their scripts) and a
+ /// [`ChangeSet`], which reports updates to the latest revealed index. If no new script
+ /// pubkeys are revealed, then both of these will be empty.
+ ///
+ /// Returns None if the provided `keychain` doesn't exist.
+ </span><span class="attr">#[must_use]
+ </span><span class="kw">pub fn </span>reveal_to_target(
+ <span class="kw-2">&mut </span><span class="self">self</span>,
+ keychain: <span class="kw-2">&</span>K,
+ target_index: u32,
+ ) -> <span class="prelude-ty">Option</span><(Vec<Indexed<ScriptBuf>>, ChangeSet<K>)> {
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
+ <span class="kw">let </span><span class="kw-2">mut </span>spks: Vec<Indexed<ScriptBuf>> = <span class="macro">vec!</span>[];
+ <span class="kw">while let </span><span class="prelude-val">Some</span>((i, new)) = <span class="self">self</span>.next_index(keychain) {
+ <span class="kw">if </span>!new || i > target_index {
+ <span class="kw">break</span>;
+ }
+ <span class="kw">match </span><span class="self">self</span>.reveal_next_spk(keychain) {
+ <span class="prelude-val">Some</span>(((i, spk), change)) => {
+ spks.push((i, spk));
+ changeset.append(change);
+ }
+ <span class="prelude-val">None </span>=> <span class="kw">break</span>,
+ }
+ }
+
+ <span class="prelude-val">Some</span>((spks, changeset))
+ }
+
+ <span class="doccomment">/// Attempts to reveal the next script pubkey for `keychain`.
+ ///
+ /// Returns the derivation index of the revealed script pubkey, the revealed script pubkey and a
+ /// [`ChangeSet`] which represents changes in the last revealed index (if any).
+ /// Returns None if the provided keychain doesn't exist.
+ ///
+ /// When a new script cannot be revealed, we return the last revealed script and an empty
+ /// [`ChangeSet`]. There are two scenarios when a new script pubkey cannot be derived:
+ ///
+ /// 1. The descriptor has no wildcard and already has one script revealed.
+ /// 2. The descriptor has already revealed scripts up to the numeric bound.
+ /// 3. There is no descriptor associated with the given keychain.
+ </span><span class="kw">pub fn </span>reveal_next_spk(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><(Indexed<ScriptBuf>, ChangeSet<K>)> {
+ <span class="kw">let </span>(next_index, new) = <span class="self">self</span>.next_index(keychain)<span class="question-mark">?</span>;
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
+
+ <span class="kw">if </span>new {
+ <span class="kw">let </span>did = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
+ <span class="self">self</span>.last_revealed.insert(<span class="kw-2">*</span>did, next_index);
+ changeset.last_revealed.insert(<span class="kw-2">*</span>did, next_index);
+ <span class="self">self</span>.replenish_inner_index(<span class="kw-2">*</span>did, keychain, <span class="self">self</span>.lookahead);
+ }
+ <span class="kw">let </span>script = <span class="self">self
+ </span>.inner
+ .spk_at_index(<span class="kw-2">&</span>(keychain.clone(), next_index))
+ .expect(<span class="string">"we just inserted it"</span>);
+ <span class="prelude-val">Some</span>(((next_index, script.into()), changeset))
+ }
+
+ <span class="doccomment">/// Gets the next unused script pubkey in the keychain. I.e., the script pubkey with the lowest
+ /// index that has not been used yet.
+ ///
+ /// This will derive and reveal a new script pubkey if no more unused script pubkeys exist.
+ ///
+ /// If the descriptor has no wildcard and already has a used script pubkey or if a descriptor
+ /// has used all scripts up to the derivation bounds, then the last derived script pubkey will be
+ /// returned.
+ ///
+ /// Returns `None` if there are no script pubkeys that have been used and no new script pubkey
+ /// could be revealed (see [`reveal_next_spk`] for when this happens).
+ ///
+ /// [`reveal_next_spk`]: Self::reveal_next_spk
+ </span><span class="kw">pub fn </span>next_unused_spk(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><(Indexed<ScriptBuf>, ChangeSet<K>)> {
+ <span class="kw">let </span>next_unused = <span class="self">self
+ </span>.unused_keychain_spks(keychain)
+ .next()
+ .map(|(i, spk)| ((i, spk.to_owned()), ChangeSet::default()));
+
+ next_unused.or_else(|| <span class="self">self</span>.reveal_next_spk(keychain))
+ }
+
+ <span class="doccomment">/// Iterate over all [`OutPoint`]s that have `TxOut`s with script pubkeys derived from
+ /// `keychain`.
+ </span><span class="kw">pub fn </span>keychain_outpoints<<span class="lifetime">'a</span>>(
+ <span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>,
+ keychain: <span class="kw-2">&</span><span class="lifetime">'a </span>K,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = Indexed<OutPoint>> + <span class="lifetime">'a </span>{
+ <span class="self">self</span>.keychain_outpoints_in_range(keychain..=keychain)
+ .map(|((<span class="kw">_</span>, i), op)| (i, op))
+ }
+
+ <span class="doccomment">/// Iterate over [`OutPoint`]s that have script pubkeys derived from keychains in `range`.
+ </span><span class="kw">pub fn </span>keychain_outpoints_in_range<<span class="lifetime">'a</span>>(
+ <span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>,
+ range: <span class="kw">impl </span>RangeBounds<K> + <span class="lifetime">'a</span>,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, OutPoint>> + <span class="lifetime">'a </span>{
+ <span class="self">self</span>.inner
+ .outputs_in_range(<span class="self">self</span>.map_to_inner_bounds(range))
+ .map(|((k, i), op)| ((k.clone(), <span class="kw-2">*</span>i), op))
+ }
+
+ <span class="kw">fn </span>map_to_inner_bounds(<span class="kw-2">&</span><span class="self">self</span>, bound: <span class="kw">impl </span>RangeBounds<K>) -> <span class="kw">impl </span>RangeBounds<(K, u32)> {
+ <span class="kw">let </span>start = <span class="kw">match </span>bound.start_bound() {
+ Bound::Included(keychain) => Bound::Included((keychain.clone(), u32::MIN)),
+ Bound::Excluded(keychain) => Bound::Excluded((keychain.clone(), u32::MAX)),
+ Bound::Unbounded => Bound::Unbounded,
+ };
+ <span class="kw">let </span>end = <span class="kw">match </span>bound.end_bound() {
+ Bound::Included(keychain) => Bound::Included((keychain.clone(), u32::MAX)),
+ Bound::Excluded(keychain) => Bound::Excluded((keychain.clone(), u32::MIN)),
+ Bound::Unbounded => Bound::Unbounded,
+ };
+
+ (start, end)
+ }
+
+ <span class="doccomment">/// Returns the highest derivation index of the `keychain` where [`KeychainTxOutIndex`] has
+ /// found a [`TxOut`] with it's script pubkey.
+ </span><span class="kw">pub fn </span>last_used_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><u32> {
+ <span class="self">self</span>.keychain_outpoints(keychain).last().map(|(i, <span class="kw">_</span>)| i)
+ }
+
+ <span class="doccomment">/// Returns the highest derivation index of each keychain that [`KeychainTxOutIndex`] has found
+ /// a [`TxOut`] with it's script pubkey.
+ </span><span class="kw">pub fn </span>last_used_indices(<span class="kw-2">&</span><span class="self">self</span>) -> BTreeMap<K, u32> {
+ <span class="self">self</span>.keychain_to_descriptor_id
+ .iter()
+ .filter_map(|(keychain, <span class="kw">_</span>)| {
+ <span class="self">self</span>.last_used_index(keychain)
+ .map(|index| (keychain.clone(), index))
+ })
+ .collect()
+ }
+
+ <span class="doccomment">/// Applies the `ChangeSet<K>` to the [`KeychainTxOutIndex<K>`]
+ ///
+ /// Keychains added by the `keychains_added` field of `ChangeSet<K>` respect the one-to-one
+ /// keychain <-> descriptor invariant by silently ignoring attempts to violate it (but will
+ /// panic if `debug_assertions` are enabled).
+ </span><span class="kw">pub fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, changeset: ChangeSet<K>) {
+ <span class="kw">let </span>ChangeSet {
+ keychains_added,
+ last_revealed,
+ } = changeset;
+ <span class="kw">for </span>(keychain, descriptor) <span class="kw">in </span>keychains_added {
+ <span class="kw">let </span>_ignore_invariant_violation = <span class="self">self</span>.insert_descriptor(keychain, descriptor);
+ }
+
+ <span class="kw">for </span>(<span class="kw-2">&</span>desc_id, <span class="kw-2">&</span>index) <span class="kw">in </span><span class="kw-2">&</span>last_revealed {
+ <span class="kw">let </span>v = <span class="self">self</span>.last_revealed.entry(desc_id).or_default();
+ <span class="kw-2">*</span>v = index.max(<span class="kw-2">*</span>v);
+ }
+
+ <span class="kw">for </span>did <span class="kw">in </span>last_revealed.keys() {
+ <span class="self">self</span>.replenish_inner_index_did(<span class="kw-2">*</span>did, <span class="self">self</span>.lookahead);
+ }
+ }
+}
+
+<span class="attr">#[derive(Clone, Debug, PartialEq)]
+</span><span class="doccomment">/// Error returned from [`KeychainTxOutIndex::insert_descriptor`]
+</span><span class="kw">pub enum </span>InsertDescriptorError<K> {
+ <span class="doccomment">/// The descriptor has already been assigned to a keychain so you can't assign it to another
+ </span>DescriptorAlreadyAssigned {
+ <span class="doccomment">/// The descriptor you have attempted to reassign
+ </span>descriptor: Descriptor<DescriptorPublicKey>,
+ <span class="doccomment">/// The keychain that the descriptor is already assigned to
+ </span>existing_assignment: K,
+ },
+ <span class="doccomment">/// The keychain is already assigned to a descriptor so you can't reassign it
+ </span>KeychainAlreadyAssigned {
+ <span class="doccomment">/// The keychain that you have attempted to reassign
+ </span>keychain: K,
+ <span class="doccomment">/// The descriptor that the keychain is already assigned to
+ </span>existing_assignment: Descriptor<DescriptorPublicKey>,
+ },
+}
+
+<span class="kw">impl</span><K: core::fmt::Debug> core::fmt::Display <span class="kw">for </span>InsertDescriptorError<K> {
+ <span class="kw">fn </span>fmt(<span class="kw-2">&</span><span class="self">self</span>, f: <span class="kw-2">&mut </span>core::fmt::Formatter<<span class="lifetime">'_</span>>) -> core::fmt::Result {
+ <span class="kw">match </span><span class="self">self </span>{
+ InsertDescriptorError::DescriptorAlreadyAssigned {
+ existing_assignment: existing,
+ descriptor,
+ } => {
+ <span class="macro">write!</span>(
+ f,
+ <span class="string">"attempt to re-assign descriptor {descriptor:?} already assigned to {existing:?}"
+ </span>)
+ }
+ InsertDescriptorError::KeychainAlreadyAssigned {
+ existing_assignment: existing,
+ keychain,
+ } => {
+ <span class="macro">write!</span>(
+ f,
+ <span class="string">"attempt to re-assign keychain {keychain:?} already assigned to {existing:?}"
+ </span>)
+ }
+ }
+ }
+}
+
+<span class="attr">#[cfg(feature = <span class="string">"std"</span>)]
+</span><span class="kw">impl</span><K: core::fmt::Debug> std::error::Error <span class="kw">for </span>InsertDescriptorError<K> {}
+
+<span class="doccomment">/// Represents updates to the derivation index of a [`KeychainTxOutIndex`].
+/// It maps each keychain `K` to a descriptor and its last revealed index.
+///
+/// It can be applied to [`KeychainTxOutIndex`] with [`apply_changeset`].
+///
+/// The `last_revealed` field is monotone in that [`append`] will never decrease it.
+/// `keychains_added` is *not* monotone, once it is set any attempt to change it is subject to the
+/// same *one-to-one* keychain <-> descriptor mapping invariant as [`KeychainTxOutIndex`] itself.
+///
+/// [`apply_changeset`]: KeychainTxOutIndex::apply_changeset
+/// [`append`]: Self::append
+</span><span class="attr">#[derive(Clone, Debug, PartialEq)]
+#[cfg_attr(
+ feature = <span class="string">"serde"</span>,
+ derive(serde::Deserialize, serde::Serialize),
+ serde(
+ <span class="kw">crate </span>= <span class="string">"serde_crate"</span>,
+ bound(
+ deserialize = <span class="string">"K: Ord + serde::Deserialize<'de>"</span>,
+ serialize = <span class="string">"K: Ord + serde::Serialize"
+ </span>)
+ )
+)]
+#[must_use]
+</span><span class="kw">pub struct </span>ChangeSet<K> {
+ <span class="doccomment">/// Contains the keychains that have been added and their respective descriptor
+ </span><span class="kw">pub </span>keychains_added: BTreeMap<K, Descriptor<DescriptorPublicKey>>,
+ <span class="doccomment">/// Contains for each descriptor_id the last revealed index of derivation
+ </span><span class="kw">pub </span>last_revealed: BTreeMap<DescriptorId, u32>,
+}
+
+<span class="kw">impl</span><K: Ord> Append <span class="kw">for </span>ChangeSet<K> {
+ <span class="doccomment">/// Merge another [`ChangeSet<K>`] into self.
+ ///
+ /// For the `keychains_added` field this method respects the invariants of
+ /// [`insert_descriptor`]. `last_revealed` always becomes the larger of the two.
+ ///
+ /// [`insert_descriptor`]: KeychainTxOutIndex::insert_descriptor
+ </span><span class="kw">fn </span>append(<span class="kw-2">&mut </span><span class="self">self</span>, other: <span class="self">Self</span>) {
+ <span class="kw">for </span>(new_keychain, new_descriptor) <span class="kw">in </span>other.keychains_added {
+ <span class="comment">// enforce 1-to-1 invariance
+ </span><span class="kw">if </span>!<span class="self">self</span>.keychains_added.contains_key(<span class="kw-2">&</span>new_keychain)
+ <span class="comment">// FIXME: very inefficient
+ </span>&& <span class="self">self
+ </span>.keychains_added
+ .values()
+ .all(|descriptor| descriptor != <span class="kw-2">&</span>new_descriptor)
+ {
+ <span class="self">self</span>.keychains_added.insert(new_keychain, new_descriptor);
+ }
+ }
+
+ <span class="comment">// for `last_revealed`, entries of `other` will take precedence ONLY if it is greater than
+ // what was originally in `self`.
+ </span><span class="kw">for </span>(desc_id, index) <span class="kw">in </span>other.last_revealed {
+ <span class="kw">use </span><span class="kw">crate</span>::collections::btree_map::Entry;
+ <span class="kw">match </span><span class="self">self</span>.last_revealed.entry(desc_id) {
+ Entry::Vacant(entry) => {
+ entry.insert(index);
+ }
+ Entry::Occupied(<span class="kw-2">mut </span>entry) => {
+ <span class="kw">if </span><span class="kw-2">*</span>entry.get() < index {
+ entry.insert(index);
+ }
+ }
+ }
+ }
+ }
+
+ <span class="doccomment">/// Returns whether the changeset are empty.
+ </span><span class="kw">fn </span>is_empty(<span class="kw-2">&</span><span class="self">self</span>) -> bool {
+ <span class="self">self</span>.last_revealed.is_empty() && <span class="self">self</span>.keychains_added.is_empty()
+ }
+}
+
+<span class="kw">impl</span><K> Default <span class="kw">for </span>ChangeSet<K> {
+ <span class="kw">fn </span>default() -> <span class="self">Self </span>{
+ <span class="self">Self </span>{
+ last_revealed: BTreeMap::default(),
+ keychains_added: BTreeMap::default(),
+ }
+ }
+}
+
+<span class="attr">#[derive(Clone, Debug, Eq, PartialEq)]
+</span><span class="doccomment">/// The keychain doesn't exist. Most likley hasn't been inserted with [`KeychainTxOutIndex::insert_descriptor`].
+</span><span class="kw">pub struct </span>NoSuchKeychain<K>(K);
+
+<span class="kw">impl</span><K: Debug> core::fmt::Display <span class="kw">for </span>NoSuchKeychain<K> {
+ <span class="kw">fn </span>fmt(<span class="kw-2">&</span><span class="self">self</span>, f: <span class="kw-2">&mut </span>core::fmt::Formatter<<span class="lifetime">'_</span>>) -> core::fmt::Result {
+ <span class="macro">write!</span>(f, <span class="string">"no such keychain {:?} exists"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>)
+ }
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
--- /dev/null
+<!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="Source of the Rust file `crates/chain/src/indexer/spk_txout.rs`."><title>spk_txout.rs - source</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="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+<a href="#305" id="305">305</a>
+<a href="#306" id="306">306</a>
+<a href="#307" id="307">307</a>
+<a href="#308" id="308">308</a>
+<a href="#309" id="309">309</a>
+<a href="#310" id="310">310</a>
+<a href="#311" id="311">311</a>
+<a href="#312" id="312">312</a>
+<a href="#313" id="313">313</a>
+<a href="#314" id="314">314</a>
+<a href="#315" id="315">315</a>
+<a href="#316" id="316">316</a>
+<a href="#317" id="317">317</a>
+<a href="#318" id="318">318</a>
+<a href="#319" id="319">319</a>
+<a href="#320" id="320">320</a>
+<a href="#321" id="321">321</a>
+<a href="#322" id="322">322</a>
+<a href="#323" id="323">323</a>
+<a href="#324" id="324">324</a>
+<a href="#325" id="325">325</a>
+<a href="#326" id="326">326</a>
+<a href="#327" id="327">327</a>
+<a href="#328" id="328">328</a>
+<a href="#329" id="329">329</a>
+<a href="#330" id="330">330</a>
+<a href="#331" id="331">331</a>
+<a href="#332" id="332">332</a>
+<a href="#333" id="333">333</a>
+<a href="#334" id="334">334</a>
+</pre></div><pre class="rust"><code><span class="doccomment">//! [`SpkTxOutIndex`] is an index storing [`TxOut`]s that have a script pubkey that matches those in a list.
+
+</span><span class="kw">use </span>core::ops::RangeBounds;
+
+<span class="kw">use crate</span>::{
+ collections::{hash_map::Entry, BTreeMap, BTreeSet, HashMap},
+ Indexer,
+};
+<span class="kw">use </span>bitcoin::{Amount, OutPoint, Script, ScriptBuf, SignedAmount, Transaction, TxOut, Txid};
+
+<span class="doccomment">/// An index storing [`TxOut`]s that have a script pubkey that matches those in a list.
+///
+/// The basic idea is that you insert script pubkeys you care about into the index with
+/// [`insert_spk`] and then when you call [`Indexer::index_tx`] or [`Indexer::index_txout`], the
+/// index will look at any txouts you pass in and store and index any txouts matching one of its
+/// script pubkeys.
+///
+/// Each script pubkey is associated with an application-defined index script index `I`, which must be
+/// [`Ord`]. Usually, this is used to associate the derivation index of the script pubkey or even a
+/// combination of `(keychain, derivation_index)`.
+///
+/// Note there is no harm in scanning transactions that disappear from the blockchain or were never
+/// in there in the first place. `SpkTxOutIndex` is intentionally *monotone* -- you cannot delete or
+/// modify txouts that have been indexed. To find out which txouts from the index are actually in the
+/// chain or unspent, you must use other sources of information like a [`TxGraph`].
+///
+/// [`TxOut`]: bitcoin::TxOut
+/// [`insert_spk`]: Self::insert_spk
+/// [`Ord`]: core::cmp::Ord
+/// [`TxGraph`]: crate::tx_graph::TxGraph
+</span><span class="attr">#[derive(Clone, Debug)]
+</span><span class="kw">pub struct </span>SpkTxOutIndex<I> {
+ <span class="doccomment">/// script pubkeys ordered by index
+ </span>spks: BTreeMap<I, ScriptBuf>,
+ <span class="doccomment">/// A reverse lookup from spk to spk index
+ </span>spk_indices: HashMap<ScriptBuf, I>,
+ <span class="doccomment">/// The set of unused indexes.
+ </span>unused: BTreeSet<I>,
+ <span class="doccomment">/// Lookup index and txout by outpoint.
+ </span>txouts: BTreeMap<OutPoint, (I, TxOut)>,
+ <span class="doccomment">/// Lookup from spk index to outpoints that had that spk
+ </span>spk_txouts: BTreeSet<(I, OutPoint)>,
+}
+
+<span class="kw">impl</span><I> Default <span class="kw">for </span>SpkTxOutIndex<I> {
+ <span class="kw">fn </span>default() -> <span class="self">Self </span>{
+ <span class="self">Self </span>{
+ txouts: Default::default(),
+ spks: Default::default(),
+ spk_indices: Default::default(),
+ spk_txouts: Default::default(),
+ unused: Default::default(),
+ }
+ }
+}
+
+<span class="kw">impl</span><I: Clone + Ord + core::fmt::Debug> Indexer <span class="kw">for </span>SpkTxOutIndex<I> {
+ <span class="kw">type </span>ChangeSet = ();
+
+ <span class="kw">fn </span>index_txout(<span class="kw-2">&mut </span><span class="self">self</span>, outpoint: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="self">Self</span>::ChangeSet {
+ <span class="self">self</span>.scan_txout(outpoint, txout);
+ Default::default()
+ }
+
+ <span class="kw">fn </span>index_tx(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> <span class="self">Self</span>::ChangeSet {
+ <span class="self">self</span>.scan(tx);
+ Default::default()
+ }
+
+ <span class="kw">fn </span>initial_changeset(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="self">Self</span>::ChangeSet {}
+
+ <span class="kw">fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, _changeset: <span class="self">Self</span>::ChangeSet) {
+ <span class="comment">// This applies nothing.
+ </span>}
+
+ <span class="kw">fn </span>is_tx_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> bool {
+ <span class="self">self</span>.is_relevant(tx)
+ }
+}
+
+<span class="kw">impl</span><I: Clone + Ord + core::fmt::Debug> SpkTxOutIndex<I> {
+ <span class="doccomment">/// Scans a transaction's outputs for matching script pubkeys.
+ ///
+ /// Typically, this is used in two situations:
+ ///
+ /// 1. After loading transaction data from the disk, you may scan over all the txouts to restore all
+ /// your txouts.
+ /// 2. When getting new data from the chain, you usually scan it before incorporating it into your chain state.
+ </span><span class="kw">pub fn </span>scan(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> BTreeSet<I> {
+ <span class="kw">let </span><span class="kw-2">mut </span>scanned_indices = BTreeSet::new();
+ <span class="kw">let </span>txid = tx.compute_txid();
+ <span class="kw">for </span>(i, txout) <span class="kw">in </span>tx.output.iter().enumerate() {
+ <span class="kw">let </span>op = OutPoint::new(txid, i <span class="kw">as </span>u32);
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(spk_i) = <span class="self">self</span>.scan_txout(op, txout) {
+ scanned_indices.insert(spk_i.clone());
+ }
+ }
+
+ scanned_indices
+ }
+
+ <span class="doccomment">/// Scan a single `TxOut` for a matching script pubkey and returns the index that matches the
+ /// script pubkey (if any).
+ </span><span class="kw">pub fn </span>scan_txout(<span class="kw-2">&mut </span><span class="self">self</span>, op: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>I> {
+ <span class="kw">let </span>spk_i = <span class="self">self</span>.spk_indices.get(<span class="kw-2">&</span>txout.script_pubkey);
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(spk_i) = spk_i {
+ <span class="self">self</span>.txouts.insert(op, (spk_i.clone(), txout.clone()));
+ <span class="self">self</span>.spk_txouts.insert((spk_i.clone(), op));
+ <span class="self">self</span>.unused.remove(spk_i);
+ }
+ spk_i
+ }
+
+ <span class="doccomment">/// Get a reference to the set of indexed outpoints.
+ </span><span class="kw">pub fn </span>outpoints(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>BTreeSet<(I, OutPoint)> {
+ <span class="kw-2">&</span><span class="self">self</span>.spk_txouts
+ }
+
+ <span class="doccomment">/// Iterate over all known txouts that spend to tracked script pubkeys.
+ </span><span class="kw">pub fn </span>txouts(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, OutPoint, <span class="kw-2">&</span>TxOut)> + ExactSizeIterator {
+ <span class="self">self</span>.txouts
+ .iter()
+ .map(|(op, (index, txout))| (index, <span class="kw-2">*</span>op, txout))
+ }
+
+ <span class="doccomment">/// Finds all txouts on a transaction that has previously been scanned and indexed.
+ </span><span class="kw">pub fn </span>txouts_in_tx(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ txid: Txid,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, OutPoint, <span class="kw-2">&</span>TxOut)> {
+ <span class="self">self</span>.txouts
+ .range(OutPoint::new(txid, u32::MIN)..=OutPoint::new(txid, u32::MAX))
+ .map(|(op, (index, txout))| (index, <span class="kw-2">*</span>op, txout))
+ }
+
+ <span class="doccomment">/// Iterates over all the outputs with script pubkeys in an index range.
+ </span><span class="kw">pub fn </span>outputs_in_range(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ range: <span class="kw">impl </span>RangeBounds<I>,
+ ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, OutPoint)> {
+ <span class="kw">use </span>bitcoin::hashes::Hash;
+ <span class="kw">use </span>core::ops::Bound::<span class="kw-2">*</span>;
+ <span class="kw">let </span>min_op = OutPoint {
+ txid: Txid::all_zeros(),
+ vout: u32::MIN,
+ };
+ <span class="kw">let </span>max_op = OutPoint {
+ txid: Txid::from_byte_array([<span class="number">0xff</span>; Txid::LEN]),
+ vout: u32::MAX,
+ };
+
+ <span class="kw">let </span>start = <span class="kw">match </span>range.start_bound() {
+ Included(index) => Included((index.clone(), min_op)),
+ Excluded(index) => Excluded((index.clone(), max_op)),
+ Unbounded => Unbounded,
+ };
+
+ <span class="kw">let </span>end = <span class="kw">match </span>range.end_bound() {
+ Included(index) => Included((index.clone(), max_op)),
+ Excluded(index) => Excluded((index.clone(), min_op)),
+ Unbounded => Unbounded,
+ };
+
+ <span class="self">self</span>.spk_txouts.range((start, end)).map(|(i, op)| (i, <span class="kw-2">*</span>op))
+ }
+
+ <span class="doccomment">/// Returns the txout and script pubkey index of the `TxOut` at `OutPoint`.
+ ///
+ /// Returns `None` if the `TxOut` hasn't been scanned or if nothing matching was found there.
+ </span><span class="kw">pub fn </span>txout(<span class="kw-2">&</span><span class="self">self</span>, outpoint: OutPoint) -> <span class="prelude-ty">Option</span><(<span class="kw-2">&</span>I, <span class="kw-2">&</span>TxOut)> {
+ <span class="self">self</span>.txouts.get(<span class="kw-2">&</span>outpoint).map(|v| (<span class="kw-2">&</span>v.<span class="number">0</span>, <span class="kw-2">&</span>v.<span class="number">1</span>))
+ }
+
+ <span class="doccomment">/// Returns the script that has been inserted at the `index`.
+ ///
+ /// If that index hasn't been inserted yet, it will return `None`.
+ </span><span class="kw">pub fn </span>spk_at_index(<span class="kw-2">&</span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>Script> {
+ <span class="self">self</span>.spks.get(index).map(|s| s.as_script())
+ }
+
+ <span class="doccomment">/// The script pubkeys that are being tracked by the index.
+ </span><span class="kw">pub fn </span>all_spks(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>BTreeMap<I, ScriptBuf> {
+ <span class="kw-2">&</span><span class="self">self</span>.spks
+ }
+
+ <span class="doccomment">/// Adds a script pubkey to scan for. Returns `false` and does nothing if spk already exists in the map
+ ///
+ /// the index will look for outputs spending to this spk whenever it scans new data.
+ </span><span class="kw">pub fn </span>insert_spk(<span class="kw-2">&mut </span><span class="self">self</span>, index: I, spk: ScriptBuf) -> bool {
+ <span class="kw">match </span><span class="self">self</span>.spk_indices.entry(spk.clone()) {
+ Entry::Vacant(value) => {
+ value.insert(index.clone());
+ <span class="self">self</span>.spks.insert(index.clone(), spk);
+ <span class="self">self</span>.unused.insert(index);
+ <span class="bool-val">true
+ </span>}
+ Entry::Occupied(<span class="kw">_</span>) => <span class="bool-val">false</span>,
+ }
+ }
+
+ <span class="doccomment">/// Iterates over all unused script pubkeys in an index range.
+ ///
+ /// Here, "unused" means that after the script pubkey was stored in the index, the index has
+ /// never scanned a transaction output with it.
+ ///
+ /// # Example
+ ///
+ /// ```rust
+ /// # use bdk_chain::SpkTxOutIndex;
+ ///
+ /// // imagine our spks are indexed like (keychain, derivation_index).
+ /// let txout_index = SpkTxOutIndex::<(u32, u32)>::default();
+ /// let all_unused_spks = txout_index.unused_spks(..);
+ /// let change_index = 1;
+ /// let unused_change_spks =
+ /// txout_index.unused_spks((change_index, u32::MIN)..(change_index, u32::MAX));
+ /// ```
+ </span><span class="kw">pub fn </span>unused_spks<R>(<span class="kw-2">&</span><span class="self">self</span>, range: R) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, <span class="kw-2">&</span>Script)> + Clone
+ <span class="kw">where
+ </span>R: RangeBounds<I>,
+ {
+ <span class="self">self</span>.unused
+ .range(range)
+ .map(<span class="kw">move </span>|index| (index, <span class="self">self</span>.spk_at_index(index).expect(<span class="string">"must exist"</span>)))
+ }
+
+ <span class="doccomment">/// Returns whether the script pubkey at `index` has been used or not.
+ ///
+ /// Here, "unused" means that after the script pubkey was stored in the index, the index has
+ /// never scanned a transaction output with it.
+ </span><span class="kw">pub fn </span>is_used(<span class="kw-2">&</span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> bool {
+ !<span class="self">self</span>.unused.contains(index)
+ }
+
+ <span class="doccomment">/// Marks the script pubkey at `index` as used even though it hasn't seen an output spending to it.
+ /// This only affects when the `index` had already been added to `self` and was unused.
+ ///
+ /// Returns whether the `index` was initially present as `unused`.
+ ///
+ /// This is useful when you want to reserve a script pubkey for something but don't want to add
+ /// the transaction output using it to the index yet. Other callers will consider the `index` used
+ /// until you call [`unmark_used`].
+ ///
+ /// [`unmark_used`]: Self::unmark_used
+ </span><span class="kw">pub fn </span>mark_used(<span class="kw-2">&mut </span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> bool {
+ <span class="self">self</span>.unused.remove(index)
+ }
+
+ <span class="doccomment">/// Undoes the effect of [`mark_used`]. Returns whether the `index` is inserted back into
+ /// `unused`.
+ ///
+ /// Note that if `self` has scanned an output with this script pubkey then this will have no
+ /// effect.
+ ///
+ /// [`mark_used`]: Self::mark_used
+ </span><span class="kw">pub fn </span>unmark_used(<span class="kw-2">&mut </span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> bool {
+ <span class="comment">// we cannot set the index as unused when it does not exist
+ </span><span class="kw">if </span>!<span class="self">self</span>.spks.contains_key(index) {
+ <span class="kw">return </span><span class="bool-val">false</span>;
+ }
+ <span class="comment">// we cannot set the index as unused when txouts are indexed under it
+ </span><span class="kw">if </span><span class="self">self</span>.outputs_in_range(index..=index).next().is_some() {
+ <span class="kw">return </span><span class="bool-val">false</span>;
+ }
+ <span class="self">self</span>.unused.insert(index.clone())
+ }
+
+ <span class="doccomment">/// Returns the index associated with the script pubkey.
+ </span><span class="kw">pub fn </span>index_of_spk(<span class="kw-2">&</span><span class="self">self</span>, script: <span class="kw-2">&</span>Script) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>I> {
+ <span class="self">self</span>.spk_indices.get(script)
+ }
+
+ <span class="doccomment">/// Computes the total value transfer effect `tx` has on the script pubkeys in `range`. Value is
+ /// *sent* when a script pubkey in the `range` is on an input and *received* when it is on an
+ /// output. For `sent` to be computed correctly, the output being spent must have already been
+ /// scanned by the index. Calculating received just uses the [`Transaction`] outputs directly,
+ /// so it will be correct even if it has not been scanned.
+ </span><span class="kw">pub fn </span>sent_and_received(
+ <span class="kw-2">&</span><span class="self">self</span>,
+ tx: <span class="kw-2">&</span>Transaction,
+ range: <span class="kw">impl </span>RangeBounds<I>,
+ ) -> (Amount, Amount) {
+ <span class="kw">let </span><span class="kw-2">mut </span>sent = Amount::ZERO;
+ <span class="kw">let </span><span class="kw-2">mut </span>received = Amount::ZERO;
+
+ <span class="kw">for </span>txin <span class="kw">in </span><span class="kw-2">&</span>tx.input {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>((index, txout)) = <span class="self">self</span>.txout(txin.previous_output) {
+ <span class="kw">if </span>range.contains(index) {
+ sent += txout.value;
+ }
+ }
+ }
+ <span class="kw">for </span>txout <span class="kw">in </span><span class="kw-2">&</span>tx.output {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(index) = <span class="self">self</span>.index_of_spk(<span class="kw-2">&</span>txout.script_pubkey) {
+ <span class="kw">if </span>range.contains(index) {
+ received += txout.value;
+ }
+ }
+ }
+
+ (sent, received)
+ }
+
+ <span class="doccomment">/// Computes the net value transfer effect of `tx` on the script pubkeys in `range`. Shorthand
+ /// for calling [`sent_and_received`] and subtracting sent from received.
+ ///
+ /// [`sent_and_received`]: Self::sent_and_received
+ </span><span class="kw">pub fn </span>net_value(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction, range: <span class="kw">impl </span>RangeBounds<I>) -> SignedAmount {
+ <span class="kw">let </span>(sent, received) = <span class="self">self</span>.sent_and_received(tx, range);
+ received.to_signed().expect(<span class="string">"valid `SignedAmount`"</span>)
+ - sent.to_signed().expect(<span class="string">"valid `SignedAmount`"</span>)
+ }
+
+ <span class="doccomment">/// Whether any of the inputs of this transaction spend a txout tracked or whether any output
+ /// matches one of our script pubkeys.
+ ///
+ /// It is easily possible to misuse this method and get false negatives by calling it before you
+ /// have scanned the `TxOut`s the transaction is spending. For example, if you want to filter out
+ /// all the transactions in a block that are irrelevant, you **must first scan all the
+ /// transactions in the block** and only then use this method.
+ </span><span class="kw">pub fn </span>is_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> bool {
+ <span class="kw">let </span>input_matches = tx
+ .input
+ .iter()
+ .any(|input| <span class="self">self</span>.txouts.contains_key(<span class="kw-2">&</span>input.previous_output));
+ <span class="kw">let </span>output_matches = tx
+ .output
+ .iter()
+ .any(|output| <span class="self">self</span>.spk_indices.contains_key(<span class="kw-2">&</span>output.script_pubkey));
+ input_matches || output_matches
+ }
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="Source of the Rust file `crates/chain/src/keychain.rs`."><title>keychain.rs - source</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="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
-<a href="#2" id="2">2</a>
-<a href="#3" id="3">3</a>
-<a href="#4" id="4">4</a>
-<a href="#5" id="5">5</a>
-<a href="#6" id="6">6</a>
-<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-<a href="#9" id="9">9</a>
-<a href="#10" id="10">10</a>
-<a href="#11" id="11">11</a>
-<a href="#12" id="12">12</a>
-<a href="#13" id="13">13</a>
-<a href="#14" id="14">14</a>
-<a href="#15" id="15">15</a>
-<a href="#16" id="16">16</a>
-<a href="#17" id="17">17</a>
-<a href="#18" id="18">18</a>
-<a href="#19" id="19">19</a>
-<a href="#20" id="20">20</a>
-<a href="#21" id="21">21</a>
-<a href="#22" id="22">22</a>
-<a href="#23" id="23">23</a>
-<a href="#24" id="24">24</a>
-<a href="#25" id="25">25</a>
-<a href="#26" id="26">26</a>
-<a href="#27" id="27">27</a>
-<a href="#28" id="28">28</a>
-<a href="#29" id="29">29</a>
-<a href="#30" id="30">30</a>
-<a href="#31" id="31">31</a>
-<a href="#32" id="32">32</a>
-<a href="#33" id="33">33</a>
-<a href="#34" id="34">34</a>
-<a href="#35" id="35">35</a>
-<a href="#36" id="36">36</a>
-<a href="#37" id="37">37</a>
-<a href="#38" id="38">38</a>
-<a href="#39" id="39">39</a>
-<a href="#40" id="40">40</a>
-<a href="#41" id="41">41</a>
-<a href="#42" id="42">42</a>
-<a href="#43" id="43">43</a>
-<a href="#44" id="44">44</a>
-<a href="#45" id="45">45</a>
-<a href="#46" id="46">46</a>
-<a href="#47" id="47">47</a>
-<a href="#48" id="48">48</a>
-<a href="#49" id="49">49</a>
-<a href="#50" id="50">50</a>
-<a href="#51" id="51">51</a>
-<a href="#52" id="52">52</a>
-<a href="#53" id="53">53</a>
-<a href="#54" id="54">54</a>
-<a href="#55" id="55">55</a>
-<a href="#56" id="56">56</a>
-<a href="#57" id="57">57</a>
-<a href="#58" id="58">58</a>
-<a href="#59" id="59">59</a>
-<a href="#60" id="60">60</a>
-<a href="#61" id="61">61</a>
-<a href="#62" id="62">62</a>
-<a href="#63" id="63">63</a>
-<a href="#64" id="64">64</a>
-<a href="#65" id="65">65</a>
-<a href="#66" id="66">66</a>
-<a href="#67" id="67">67</a>
-<a href="#68" id="68">68</a>
-<a href="#69" id="69">69</a>
-<a href="#70" id="70">70</a>
-<a href="#71" id="71">71</a>
-<a href="#72" id="72">72</a>
-<a href="#73" id="73">73</a>
-<a href="#74" id="74">74</a>
-<a href="#75" id="75">75</a>
-<a href="#76" id="76">76</a>
-<a href="#77" id="77">77</a>
-<a href="#78" id="78">78</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Module for keychain related structures.
-//!
-//! A keychain here is a set of application-defined indexes for a miniscript descriptor where we can
-//! derive script pubkeys at a particular derivation index. The application's index is simply
-//! anything that implements `Ord`.
-//!
-//! [`KeychainTxOutIndex`] indexes script pubkeys of keychains and scans in relevant outpoints (that
-//! has a `txout` containing an indexed script pubkey). Internally, this uses [`SpkTxOutIndex`], but
-//! also maintains "revealed" and "lookahead" index counts per keychain.
-//!
-//! [`SpkTxOutIndex`]: crate::SpkTxOutIndex
-
-</span><span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
-</span><span class="kw">mod </span>txout_index;
-<span class="kw">use </span>bitcoin::{Amount, ScriptBuf};
-<span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
-</span><span class="kw">pub use </span>txout_index::<span class="kw-2">*</span>;
-
-<span class="doccomment">/// Balance, differentiated into various categories.
-</span><span class="attr">#[derive(Debug, PartialEq, Eq, Clone, Default)]
-#[cfg_attr(
- feature = <span class="string">"serde"</span>,
- derive(serde::Deserialize, serde::Serialize),
- serde(<span class="kw">crate </span>= <span class="string">"serde_crate"</span>,)
-)]
-</span><span class="kw">pub struct </span>Balance {
- <span class="doccomment">/// All coinbase outputs not yet matured
- </span><span class="kw">pub </span>immature: Amount,
- <span class="doccomment">/// Unconfirmed UTXOs generated by a wallet tx
- </span><span class="kw">pub </span>trusted_pending: Amount,
- <span class="doccomment">/// Unconfirmed UTXOs received from an external wallet
- </span><span class="kw">pub </span>untrusted_pending: Amount,
- <span class="doccomment">/// Confirmed and immediately spendable balance
- </span><span class="kw">pub </span>confirmed: Amount,
-}
-
-<span class="kw">impl </span>Balance {
- <span class="doccomment">/// Get sum of trusted_pending and confirmed coins.
- ///
- /// This is the balance you can spend right now that shouldn't get cancelled via another party
- /// double spending it.
- </span><span class="kw">pub fn </span>trusted_spendable(<span class="kw-2">&</span><span class="self">self</span>) -> Amount {
- <span class="self">self</span>.confirmed + <span class="self">self</span>.trusted_pending
- }
-
- <span class="doccomment">/// Get the whole balance visible to the wallet.
- </span><span class="kw">pub fn </span>total(<span class="kw-2">&</span><span class="self">self</span>) -> Amount {
- <span class="self">self</span>.confirmed + <span class="self">self</span>.trusted_pending + <span class="self">self</span>.untrusted_pending + <span class="self">self</span>.immature
- }
-}
-
-<span class="doccomment">/// A tuple of keychain index and `T` representing the indexed value.
-</span><span class="kw">pub type </span>Indexed<T> = (u32, T);
-<span class="doccomment">/// A tuple of keychain `K`, derivation index (`u32`) and a `T` associated with them.
-</span><span class="kw">pub type </span>KeychainIndexed<K, T> = ((K, u32), T);
-
-<span class="kw">impl </span>core::fmt::Display <span class="kw">for </span>Balance {
- <span class="kw">fn </span>fmt(<span class="kw-2">&</span><span class="self">self</span>, f: <span class="kw-2">&mut </span>core::fmt::Formatter<<span class="lifetime">'_</span>>) -> core::fmt::Result {
- <span class="macro">write!</span>(
- f,
- <span class="string">"{{ immature: {}, trusted_pending: {}, untrusted_pending: {}, confirmed: {} }}"</span>,
- <span class="self">self</span>.immature, <span class="self">self</span>.trusted_pending, <span class="self">self</span>.untrusted_pending, <span class="self">self</span>.confirmed
- )
- }
-}
-
-<span class="kw">impl </span>core::ops::Add <span class="kw">for </span>Balance {
- <span class="kw">type </span>Output = <span class="self">Self</span>;
-
- <span class="kw">fn </span>add(<span class="self">self</span>, other: <span class="self">Self</span>) -> <span class="self">Self </span>{
- <span class="self">Self </span>{
- immature: <span class="self">self</span>.immature + other.immature,
- trusted_pending: <span class="self">self</span>.trusted_pending + other.trusted_pending,
- untrusted_pending: <span class="self">self</span>.untrusted_pending + other.untrusted_pending,
- confirmed: <span class="self">self</span>.confirmed + other.confirmed,
- }
- }
-}
-</code></pre></div></section></main></body></html>
\ No newline at end of file
+++ /dev/null
-<!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="Source of the Rust file `crates/chain/src/keychain/txout_index.rs`."><title>txout_index.rs - source</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="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
-<a href="#2" id="2">2</a>
-<a href="#3" id="3">3</a>
-<a href="#4" id="4">4</a>
-<a href="#5" id="5">5</a>
-<a href="#6" id="6">6</a>
-<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-<a href="#9" id="9">9</a>
-<a href="#10" id="10">10</a>
-<a href="#11" id="11">11</a>
-<a href="#12" id="12">12</a>
-<a href="#13" id="13">13</a>
-<a href="#14" id="14">14</a>
-<a href="#15" id="15">15</a>
-<a href="#16" id="16">16</a>
-<a href="#17" id="17">17</a>
-<a href="#18" id="18">18</a>
-<a href="#19" id="19">19</a>
-<a href="#20" id="20">20</a>
-<a href="#21" id="21">21</a>
-<a href="#22" id="22">22</a>
-<a href="#23" id="23">23</a>
-<a href="#24" id="24">24</a>
-<a href="#25" id="25">25</a>
-<a href="#26" id="26">26</a>
-<a href="#27" id="27">27</a>
-<a href="#28" id="28">28</a>
-<a href="#29" id="29">29</a>
-<a href="#30" id="30">30</a>
-<a href="#31" id="31">31</a>
-<a href="#32" id="32">32</a>
-<a href="#33" id="33">33</a>
-<a href="#34" id="34">34</a>
-<a href="#35" id="35">35</a>
-<a href="#36" id="36">36</a>
-<a href="#37" id="37">37</a>
-<a href="#38" id="38">38</a>
-<a href="#39" id="39">39</a>
-<a href="#40" id="40">40</a>
-<a href="#41" id="41">41</a>
-<a href="#42" id="42">42</a>
-<a href="#43" id="43">43</a>
-<a href="#44" id="44">44</a>
-<a href="#45" id="45">45</a>
-<a href="#46" id="46">46</a>
-<a href="#47" id="47">47</a>
-<a href="#48" id="48">48</a>
-<a href="#49" id="49">49</a>
-<a href="#50" id="50">50</a>
-<a href="#51" id="51">51</a>
-<a href="#52" id="52">52</a>
-<a href="#53" id="53">53</a>
-<a href="#54" id="54">54</a>
-<a href="#55" id="55">55</a>
-<a href="#56" id="56">56</a>
-<a href="#57" id="57">57</a>
-<a href="#58" id="58">58</a>
-<a href="#59" id="59">59</a>
-<a href="#60" id="60">60</a>
-<a href="#61" id="61">61</a>
-<a href="#62" id="62">62</a>
-<a href="#63" id="63">63</a>
-<a href="#64" id="64">64</a>
-<a href="#65" id="65">65</a>
-<a href="#66" id="66">66</a>
-<a href="#67" id="67">67</a>
-<a href="#68" id="68">68</a>
-<a href="#69" id="69">69</a>
-<a href="#70" id="70">70</a>
-<a href="#71" id="71">71</a>
-<a href="#72" id="72">72</a>
-<a href="#73" id="73">73</a>
-<a href="#74" id="74">74</a>
-<a href="#75" id="75">75</a>
-<a href="#76" id="76">76</a>
-<a href="#77" id="77">77</a>
-<a href="#78" id="78">78</a>
-<a href="#79" id="79">79</a>
-<a href="#80" id="80">80</a>
-<a href="#81" id="81">81</a>
-<a href="#82" id="82">82</a>
-<a href="#83" id="83">83</a>
-<a href="#84" id="84">84</a>
-<a href="#85" id="85">85</a>
-<a href="#86" id="86">86</a>
-<a href="#87" id="87">87</a>
-<a href="#88" id="88">88</a>
-<a href="#89" id="89">89</a>
-<a href="#90" id="90">90</a>
-<a href="#91" id="91">91</a>
-<a href="#92" id="92">92</a>
-<a href="#93" id="93">93</a>
-<a href="#94" id="94">94</a>
-<a href="#95" id="95">95</a>
-<a href="#96" id="96">96</a>
-<a href="#97" id="97">97</a>
-<a href="#98" id="98">98</a>
-<a href="#99" id="99">99</a>
-<a href="#100" id="100">100</a>
-<a href="#101" id="101">101</a>
-<a href="#102" id="102">102</a>
-<a href="#103" id="103">103</a>
-<a href="#104" id="104">104</a>
-<a href="#105" id="105">105</a>
-<a href="#106" id="106">106</a>
-<a href="#107" id="107">107</a>
-<a href="#108" id="108">108</a>
-<a href="#109" id="109">109</a>
-<a href="#110" id="110">110</a>
-<a href="#111" id="111">111</a>
-<a href="#112" id="112">112</a>
-<a href="#113" id="113">113</a>
-<a href="#114" id="114">114</a>
-<a href="#115" id="115">115</a>
-<a href="#116" id="116">116</a>
-<a href="#117" id="117">117</a>
-<a href="#118" id="118">118</a>
-<a href="#119" id="119">119</a>
-<a href="#120" id="120">120</a>
-<a href="#121" id="121">121</a>
-<a href="#122" id="122">122</a>
-<a href="#123" id="123">123</a>
-<a href="#124" id="124">124</a>
-<a href="#125" id="125">125</a>
-<a href="#126" id="126">126</a>
-<a href="#127" id="127">127</a>
-<a href="#128" id="128">128</a>
-<a href="#129" id="129">129</a>
-<a href="#130" id="130">130</a>
-<a href="#131" id="131">131</a>
-<a href="#132" id="132">132</a>
-<a href="#133" id="133">133</a>
-<a href="#134" id="134">134</a>
-<a href="#135" id="135">135</a>
-<a href="#136" id="136">136</a>
-<a href="#137" id="137">137</a>
-<a href="#138" id="138">138</a>
-<a href="#139" id="139">139</a>
-<a href="#140" id="140">140</a>
-<a href="#141" id="141">141</a>
-<a href="#142" id="142">142</a>
-<a href="#143" id="143">143</a>
-<a href="#144" id="144">144</a>
-<a href="#145" id="145">145</a>
-<a href="#146" id="146">146</a>
-<a href="#147" id="147">147</a>
-<a href="#148" id="148">148</a>
-<a href="#149" id="149">149</a>
-<a href="#150" id="150">150</a>
-<a href="#151" id="151">151</a>
-<a href="#152" id="152">152</a>
-<a href="#153" id="153">153</a>
-<a href="#154" id="154">154</a>
-<a href="#155" id="155">155</a>
-<a href="#156" id="156">156</a>
-<a href="#157" id="157">157</a>
-<a href="#158" id="158">158</a>
-<a href="#159" id="159">159</a>
-<a href="#160" id="160">160</a>
-<a href="#161" id="161">161</a>
-<a href="#162" id="162">162</a>
-<a href="#163" id="163">163</a>
-<a href="#164" id="164">164</a>
-<a href="#165" id="165">165</a>
-<a href="#166" id="166">166</a>
-<a href="#167" id="167">167</a>
-<a href="#168" id="168">168</a>
-<a href="#169" id="169">169</a>
-<a href="#170" id="170">170</a>
-<a href="#171" id="171">171</a>
-<a href="#172" id="172">172</a>
-<a href="#173" id="173">173</a>
-<a href="#174" id="174">174</a>
-<a href="#175" id="175">175</a>
-<a href="#176" id="176">176</a>
-<a href="#177" id="177">177</a>
-<a href="#178" id="178">178</a>
-<a href="#179" id="179">179</a>
-<a href="#180" id="180">180</a>
-<a href="#181" id="181">181</a>
-<a href="#182" id="182">182</a>
-<a href="#183" id="183">183</a>
-<a href="#184" id="184">184</a>
-<a href="#185" id="185">185</a>
-<a href="#186" id="186">186</a>
-<a href="#187" id="187">187</a>
-<a href="#188" id="188">188</a>
-<a href="#189" id="189">189</a>
-<a href="#190" id="190">190</a>
-<a href="#191" id="191">191</a>
-<a href="#192" id="192">192</a>
-<a href="#193" id="193">193</a>
-<a href="#194" id="194">194</a>
-<a href="#195" id="195">195</a>
-<a href="#196" id="196">196</a>
-<a href="#197" id="197">197</a>
-<a href="#198" id="198">198</a>
-<a href="#199" id="199">199</a>
-<a href="#200" id="200">200</a>
-<a href="#201" id="201">201</a>
-<a href="#202" id="202">202</a>
-<a href="#203" id="203">203</a>
-<a href="#204" id="204">204</a>
-<a href="#205" id="205">205</a>
-<a href="#206" id="206">206</a>
-<a href="#207" id="207">207</a>
-<a href="#208" id="208">208</a>
-<a href="#209" id="209">209</a>
-<a href="#210" id="210">210</a>
-<a href="#211" id="211">211</a>
-<a href="#212" id="212">212</a>
-<a href="#213" id="213">213</a>
-<a href="#214" id="214">214</a>
-<a href="#215" id="215">215</a>
-<a href="#216" id="216">216</a>
-<a href="#217" id="217">217</a>
-<a href="#218" id="218">218</a>
-<a href="#219" id="219">219</a>
-<a href="#220" id="220">220</a>
-<a href="#221" id="221">221</a>
-<a href="#222" id="222">222</a>
-<a href="#223" id="223">223</a>
-<a href="#224" id="224">224</a>
-<a href="#225" id="225">225</a>
-<a href="#226" id="226">226</a>
-<a href="#227" id="227">227</a>
-<a href="#228" id="228">228</a>
-<a href="#229" id="229">229</a>
-<a href="#230" id="230">230</a>
-<a href="#231" id="231">231</a>
-<a href="#232" id="232">232</a>
-<a href="#233" id="233">233</a>
-<a href="#234" id="234">234</a>
-<a href="#235" id="235">235</a>
-<a href="#236" id="236">236</a>
-<a href="#237" id="237">237</a>
-<a href="#238" id="238">238</a>
-<a href="#239" id="239">239</a>
-<a href="#240" id="240">240</a>
-<a href="#241" id="241">241</a>
-<a href="#242" id="242">242</a>
-<a href="#243" id="243">243</a>
-<a href="#244" id="244">244</a>
-<a href="#245" id="245">245</a>
-<a href="#246" id="246">246</a>
-<a href="#247" id="247">247</a>
-<a href="#248" id="248">248</a>
-<a href="#249" id="249">249</a>
-<a href="#250" id="250">250</a>
-<a href="#251" id="251">251</a>
-<a href="#252" id="252">252</a>
-<a href="#253" id="253">253</a>
-<a href="#254" id="254">254</a>
-<a href="#255" id="255">255</a>
-<a href="#256" id="256">256</a>
-<a href="#257" id="257">257</a>
-<a href="#258" id="258">258</a>
-<a href="#259" id="259">259</a>
-<a href="#260" id="260">260</a>
-<a href="#261" id="261">261</a>
-<a href="#262" id="262">262</a>
-<a href="#263" id="263">263</a>
-<a href="#264" id="264">264</a>
-<a href="#265" id="265">265</a>
-<a href="#266" id="266">266</a>
-<a href="#267" id="267">267</a>
-<a href="#268" id="268">268</a>
-<a href="#269" id="269">269</a>
-<a href="#270" id="270">270</a>
-<a href="#271" id="271">271</a>
-<a href="#272" id="272">272</a>
-<a href="#273" id="273">273</a>
-<a href="#274" id="274">274</a>
-<a href="#275" id="275">275</a>
-<a href="#276" id="276">276</a>
-<a href="#277" id="277">277</a>
-<a href="#278" id="278">278</a>
-<a href="#279" id="279">279</a>
-<a href="#280" id="280">280</a>
-<a href="#281" id="281">281</a>
-<a href="#282" id="282">282</a>
-<a href="#283" id="283">283</a>
-<a href="#284" id="284">284</a>
-<a href="#285" id="285">285</a>
-<a href="#286" id="286">286</a>
-<a href="#287" id="287">287</a>
-<a href="#288" id="288">288</a>
-<a href="#289" id="289">289</a>
-<a href="#290" id="290">290</a>
-<a href="#291" id="291">291</a>
-<a href="#292" id="292">292</a>
-<a href="#293" id="293">293</a>
-<a href="#294" id="294">294</a>
-<a href="#295" id="295">295</a>
-<a href="#296" id="296">296</a>
-<a href="#297" id="297">297</a>
-<a href="#298" id="298">298</a>
-<a href="#299" id="299">299</a>
-<a href="#300" id="300">300</a>
-<a href="#301" id="301">301</a>
-<a href="#302" id="302">302</a>
-<a href="#303" id="303">303</a>
-<a href="#304" id="304">304</a>
-<a href="#305" id="305">305</a>
-<a href="#306" id="306">306</a>
-<a href="#307" id="307">307</a>
-<a href="#308" id="308">308</a>
-<a href="#309" id="309">309</a>
-<a href="#310" id="310">310</a>
-<a href="#311" id="311">311</a>
-<a href="#312" id="312">312</a>
-<a href="#313" id="313">313</a>
-<a href="#314" id="314">314</a>
-<a href="#315" id="315">315</a>
-<a href="#316" id="316">316</a>
-<a href="#317" id="317">317</a>
-<a href="#318" id="318">318</a>
-<a href="#319" id="319">319</a>
-<a href="#320" id="320">320</a>
-<a href="#321" id="321">321</a>
-<a href="#322" id="322">322</a>
-<a href="#323" id="323">323</a>
-<a href="#324" id="324">324</a>
-<a href="#325" id="325">325</a>
-<a href="#326" id="326">326</a>
-<a href="#327" id="327">327</a>
-<a href="#328" id="328">328</a>
-<a href="#329" id="329">329</a>
-<a href="#330" id="330">330</a>
-<a href="#331" id="331">331</a>
-<a href="#332" id="332">332</a>
-<a href="#333" id="333">333</a>
-<a href="#334" id="334">334</a>
-<a href="#335" id="335">335</a>
-<a href="#336" id="336">336</a>
-<a href="#337" id="337">337</a>
-<a href="#338" id="338">338</a>
-<a href="#339" id="339">339</a>
-<a href="#340" id="340">340</a>
-<a href="#341" id="341">341</a>
-<a href="#342" id="342">342</a>
-<a href="#343" id="343">343</a>
-<a href="#344" id="344">344</a>
-<a href="#345" id="345">345</a>
-<a href="#346" id="346">346</a>
-<a href="#347" id="347">347</a>
-<a href="#348" id="348">348</a>
-<a href="#349" id="349">349</a>
-<a href="#350" id="350">350</a>
-<a href="#351" id="351">351</a>
-<a href="#352" id="352">352</a>
-<a href="#353" id="353">353</a>
-<a href="#354" id="354">354</a>
-<a href="#355" id="355">355</a>
-<a href="#356" id="356">356</a>
-<a href="#357" id="357">357</a>
-<a href="#358" id="358">358</a>
-<a href="#359" id="359">359</a>
-<a href="#360" id="360">360</a>
-<a href="#361" id="361">361</a>
-<a href="#362" id="362">362</a>
-<a href="#363" id="363">363</a>
-<a href="#364" id="364">364</a>
-<a href="#365" id="365">365</a>
-<a href="#366" id="366">366</a>
-<a href="#367" id="367">367</a>
-<a href="#368" id="368">368</a>
-<a href="#369" id="369">369</a>
-<a href="#370" id="370">370</a>
-<a href="#371" id="371">371</a>
-<a href="#372" id="372">372</a>
-<a href="#373" id="373">373</a>
-<a href="#374" id="374">374</a>
-<a href="#375" id="375">375</a>
-<a href="#376" id="376">376</a>
-<a href="#377" id="377">377</a>
-<a href="#378" id="378">378</a>
-<a href="#379" id="379">379</a>
-<a href="#380" id="380">380</a>
-<a href="#381" id="381">381</a>
-<a href="#382" id="382">382</a>
-<a href="#383" id="383">383</a>
-<a href="#384" id="384">384</a>
-<a href="#385" id="385">385</a>
-<a href="#386" id="386">386</a>
-<a href="#387" id="387">387</a>
-<a href="#388" id="388">388</a>
-<a href="#389" id="389">389</a>
-<a href="#390" id="390">390</a>
-<a href="#391" id="391">391</a>
-<a href="#392" id="392">392</a>
-<a href="#393" id="393">393</a>
-<a href="#394" id="394">394</a>
-<a href="#395" id="395">395</a>
-<a href="#396" id="396">396</a>
-<a href="#397" id="397">397</a>
-<a href="#398" id="398">398</a>
-<a href="#399" id="399">399</a>
-<a href="#400" id="400">400</a>
-<a href="#401" id="401">401</a>
-<a href="#402" id="402">402</a>
-<a href="#403" id="403">403</a>
-<a href="#404" id="404">404</a>
-<a href="#405" id="405">405</a>
-<a href="#406" id="406">406</a>
-<a href="#407" id="407">407</a>
-<a href="#408" id="408">408</a>
-<a href="#409" id="409">409</a>
-<a href="#410" id="410">410</a>
-<a href="#411" id="411">411</a>
-<a href="#412" id="412">412</a>
-<a href="#413" id="413">413</a>
-<a href="#414" id="414">414</a>
-<a href="#415" id="415">415</a>
-<a href="#416" id="416">416</a>
-<a href="#417" id="417">417</a>
-<a href="#418" id="418">418</a>
-<a href="#419" id="419">419</a>
-<a href="#420" id="420">420</a>
-<a href="#421" id="421">421</a>
-<a href="#422" id="422">422</a>
-<a href="#423" id="423">423</a>
-<a href="#424" id="424">424</a>
-<a href="#425" id="425">425</a>
-<a href="#426" id="426">426</a>
-<a href="#427" id="427">427</a>
-<a href="#428" id="428">428</a>
-<a href="#429" id="429">429</a>
-<a href="#430" id="430">430</a>
-<a href="#431" id="431">431</a>
-<a href="#432" id="432">432</a>
-<a href="#433" id="433">433</a>
-<a href="#434" id="434">434</a>
-<a href="#435" id="435">435</a>
-<a href="#436" id="436">436</a>
-<a href="#437" id="437">437</a>
-<a href="#438" id="438">438</a>
-<a href="#439" id="439">439</a>
-<a href="#440" id="440">440</a>
-<a href="#441" id="441">441</a>
-<a href="#442" id="442">442</a>
-<a href="#443" id="443">443</a>
-<a href="#444" id="444">444</a>
-<a href="#445" id="445">445</a>
-<a href="#446" id="446">446</a>
-<a href="#447" id="447">447</a>
-<a href="#448" id="448">448</a>
-<a href="#449" id="449">449</a>
-<a href="#450" id="450">450</a>
-<a href="#451" id="451">451</a>
-<a href="#452" id="452">452</a>
-<a href="#453" id="453">453</a>
-<a href="#454" id="454">454</a>
-<a href="#455" id="455">455</a>
-<a href="#456" id="456">456</a>
-<a href="#457" id="457">457</a>
-<a href="#458" id="458">458</a>
-<a href="#459" id="459">459</a>
-<a href="#460" id="460">460</a>
-<a href="#461" id="461">461</a>
-<a href="#462" id="462">462</a>
-<a href="#463" id="463">463</a>
-<a href="#464" id="464">464</a>
-<a href="#465" id="465">465</a>
-<a href="#466" id="466">466</a>
-<a href="#467" id="467">467</a>
-<a href="#468" id="468">468</a>
-<a href="#469" id="469">469</a>
-<a href="#470" id="470">470</a>
-<a href="#471" id="471">471</a>
-<a href="#472" id="472">472</a>
-<a href="#473" id="473">473</a>
-<a href="#474" id="474">474</a>
-<a href="#475" id="475">475</a>
-<a href="#476" id="476">476</a>
-<a href="#477" id="477">477</a>
-<a href="#478" id="478">478</a>
-<a href="#479" id="479">479</a>
-<a href="#480" id="480">480</a>
-<a href="#481" id="481">481</a>
-<a href="#482" id="482">482</a>
-<a href="#483" id="483">483</a>
-<a href="#484" id="484">484</a>
-<a href="#485" id="485">485</a>
-<a href="#486" id="486">486</a>
-<a href="#487" id="487">487</a>
-<a href="#488" id="488">488</a>
-<a href="#489" id="489">489</a>
-<a href="#490" id="490">490</a>
-<a href="#491" id="491">491</a>
-<a href="#492" id="492">492</a>
-<a href="#493" id="493">493</a>
-<a href="#494" id="494">494</a>
-<a href="#495" id="495">495</a>
-<a href="#496" id="496">496</a>
-<a href="#497" id="497">497</a>
-<a href="#498" id="498">498</a>
-<a href="#499" id="499">499</a>
-<a href="#500" id="500">500</a>
-<a href="#501" id="501">501</a>
-<a href="#502" id="502">502</a>
-<a href="#503" id="503">503</a>
-<a href="#504" id="504">504</a>
-<a href="#505" id="505">505</a>
-<a href="#506" id="506">506</a>
-<a href="#507" id="507">507</a>
-<a href="#508" id="508">508</a>
-<a href="#509" id="509">509</a>
-<a href="#510" id="510">510</a>
-<a href="#511" id="511">511</a>
-<a href="#512" id="512">512</a>
-<a href="#513" id="513">513</a>
-<a href="#514" id="514">514</a>
-<a href="#515" id="515">515</a>
-<a href="#516" id="516">516</a>
-<a href="#517" id="517">517</a>
-<a href="#518" id="518">518</a>
-<a href="#519" id="519">519</a>
-<a href="#520" id="520">520</a>
-<a href="#521" id="521">521</a>
-<a href="#522" id="522">522</a>
-<a href="#523" id="523">523</a>
-<a href="#524" id="524">524</a>
-<a href="#525" id="525">525</a>
-<a href="#526" id="526">526</a>
-<a href="#527" id="527">527</a>
-<a href="#528" id="528">528</a>
-<a href="#529" id="529">529</a>
-<a href="#530" id="530">530</a>
-<a href="#531" id="531">531</a>
-<a href="#532" id="532">532</a>
-<a href="#533" id="533">533</a>
-<a href="#534" id="534">534</a>
-<a href="#535" id="535">535</a>
-<a href="#536" id="536">536</a>
-<a href="#537" id="537">537</a>
-<a href="#538" id="538">538</a>
-<a href="#539" id="539">539</a>
-<a href="#540" id="540">540</a>
-<a href="#541" id="541">541</a>
-<a href="#542" id="542">542</a>
-<a href="#543" id="543">543</a>
-<a href="#544" id="544">544</a>
-<a href="#545" id="545">545</a>
-<a href="#546" id="546">546</a>
-<a href="#547" id="547">547</a>
-<a href="#548" id="548">548</a>
-<a href="#549" id="549">549</a>
-<a href="#550" id="550">550</a>
-<a href="#551" id="551">551</a>
-<a href="#552" id="552">552</a>
-<a href="#553" id="553">553</a>
-<a href="#554" id="554">554</a>
-<a href="#555" id="555">555</a>
-<a href="#556" id="556">556</a>
-<a href="#557" id="557">557</a>
-<a href="#558" id="558">558</a>
-<a href="#559" id="559">559</a>
-<a href="#560" id="560">560</a>
-<a href="#561" id="561">561</a>
-<a href="#562" id="562">562</a>
-<a href="#563" id="563">563</a>
-<a href="#564" id="564">564</a>
-<a href="#565" id="565">565</a>
-<a href="#566" id="566">566</a>
-<a href="#567" id="567">567</a>
-<a href="#568" id="568">568</a>
-<a href="#569" id="569">569</a>
-<a href="#570" id="570">570</a>
-<a href="#571" id="571">571</a>
-<a href="#572" id="572">572</a>
-<a href="#573" id="573">573</a>
-<a href="#574" id="574">574</a>
-<a href="#575" id="575">575</a>
-<a href="#576" id="576">576</a>
-<a href="#577" id="577">577</a>
-<a href="#578" id="578">578</a>
-<a href="#579" id="579">579</a>
-<a href="#580" id="580">580</a>
-<a href="#581" id="581">581</a>
-<a href="#582" id="582">582</a>
-<a href="#583" id="583">583</a>
-<a href="#584" id="584">584</a>
-<a href="#585" id="585">585</a>
-<a href="#586" id="586">586</a>
-<a href="#587" id="587">587</a>
-<a href="#588" id="588">588</a>
-<a href="#589" id="589">589</a>
-<a href="#590" id="590">590</a>
-<a href="#591" id="591">591</a>
-<a href="#592" id="592">592</a>
-<a href="#593" id="593">593</a>
-<a href="#594" id="594">594</a>
-<a href="#595" id="595">595</a>
-<a href="#596" id="596">596</a>
-<a href="#597" id="597">597</a>
-<a href="#598" id="598">598</a>
-<a href="#599" id="599">599</a>
-<a href="#600" id="600">600</a>
-<a href="#601" id="601">601</a>
-<a href="#602" id="602">602</a>
-<a href="#603" id="603">603</a>
-<a href="#604" id="604">604</a>
-<a href="#605" id="605">605</a>
-<a href="#606" id="606">606</a>
-<a href="#607" id="607">607</a>
-<a href="#608" id="608">608</a>
-<a href="#609" id="609">609</a>
-<a href="#610" id="610">610</a>
-<a href="#611" id="611">611</a>
-<a href="#612" id="612">612</a>
-<a href="#613" id="613">613</a>
-<a href="#614" id="614">614</a>
-<a href="#615" id="615">615</a>
-<a href="#616" id="616">616</a>
-<a href="#617" id="617">617</a>
-<a href="#618" id="618">618</a>
-<a href="#619" id="619">619</a>
-<a href="#620" id="620">620</a>
-<a href="#621" id="621">621</a>
-<a href="#622" id="622">622</a>
-<a href="#623" id="623">623</a>
-<a href="#624" id="624">624</a>
-<a href="#625" id="625">625</a>
-<a href="#626" id="626">626</a>
-<a href="#627" id="627">627</a>
-<a href="#628" id="628">628</a>
-<a href="#629" id="629">629</a>
-<a href="#630" id="630">630</a>
-<a href="#631" id="631">631</a>
-<a href="#632" id="632">632</a>
-<a href="#633" id="633">633</a>
-<a href="#634" id="634">634</a>
-<a href="#635" id="635">635</a>
-<a href="#636" id="636">636</a>
-<a href="#637" id="637">637</a>
-<a href="#638" id="638">638</a>
-<a href="#639" id="639">639</a>
-<a href="#640" id="640">640</a>
-<a href="#641" id="641">641</a>
-<a href="#642" id="642">642</a>
-<a href="#643" id="643">643</a>
-<a href="#644" id="644">644</a>
-<a href="#645" id="645">645</a>
-<a href="#646" id="646">646</a>
-<a href="#647" id="647">647</a>
-<a href="#648" id="648">648</a>
-<a href="#649" id="649">649</a>
-<a href="#650" id="650">650</a>
-<a href="#651" id="651">651</a>
-<a href="#652" id="652">652</a>
-<a href="#653" id="653">653</a>
-<a href="#654" id="654">654</a>
-<a href="#655" id="655">655</a>
-<a href="#656" id="656">656</a>
-<a href="#657" id="657">657</a>
-<a href="#658" id="658">658</a>
-<a href="#659" id="659">659</a>
-<a href="#660" id="660">660</a>
-<a href="#661" id="661">661</a>
-<a href="#662" id="662">662</a>
-<a href="#663" id="663">663</a>
-<a href="#664" id="664">664</a>
-<a href="#665" id="665">665</a>
-<a href="#666" id="666">666</a>
-<a href="#667" id="667">667</a>
-<a href="#668" id="668">668</a>
-<a href="#669" id="669">669</a>
-<a href="#670" id="670">670</a>
-<a href="#671" id="671">671</a>
-<a href="#672" id="672">672</a>
-<a href="#673" id="673">673</a>
-<a href="#674" id="674">674</a>
-<a href="#675" id="675">675</a>
-<a href="#676" id="676">676</a>
-<a href="#677" id="677">677</a>
-<a href="#678" id="678">678</a>
-<a href="#679" id="679">679</a>
-<a href="#680" id="680">680</a>
-<a href="#681" id="681">681</a>
-<a href="#682" id="682">682</a>
-<a href="#683" id="683">683</a>
-<a href="#684" id="684">684</a>
-<a href="#685" id="685">685</a>
-<a href="#686" id="686">686</a>
-<a href="#687" id="687">687</a>
-<a href="#688" id="688">688</a>
-<a href="#689" id="689">689</a>
-<a href="#690" id="690">690</a>
-<a href="#691" id="691">691</a>
-<a href="#692" id="692">692</a>
-<a href="#693" id="693">693</a>
-<a href="#694" id="694">694</a>
-<a href="#695" id="695">695</a>
-<a href="#696" id="696">696</a>
-<a href="#697" id="697">697</a>
-<a href="#698" id="698">698</a>
-<a href="#699" id="699">699</a>
-<a href="#700" id="700">700</a>
-<a href="#701" id="701">701</a>
-<a href="#702" id="702">702</a>
-<a href="#703" id="703">703</a>
-<a href="#704" id="704">704</a>
-<a href="#705" id="705">705</a>
-<a href="#706" id="706">706</a>
-<a href="#707" id="707">707</a>
-<a href="#708" id="708">708</a>
-<a href="#709" id="709">709</a>
-<a href="#710" id="710">710</a>
-<a href="#711" id="711">711</a>
-<a href="#712" id="712">712</a>
-<a href="#713" id="713">713</a>
-<a href="#714" id="714">714</a>
-<a href="#715" id="715">715</a>
-<a href="#716" id="716">716</a>
-<a href="#717" id="717">717</a>
-<a href="#718" id="718">718</a>
-<a href="#719" id="719">719</a>
-<a href="#720" id="720">720</a>
-<a href="#721" id="721">721</a>
-<a href="#722" id="722">722</a>
-<a href="#723" id="723">723</a>
-<a href="#724" id="724">724</a>
-<a href="#725" id="725">725</a>
-<a href="#726" id="726">726</a>
-<a href="#727" id="727">727</a>
-<a href="#728" id="728">728</a>
-<a href="#729" id="729">729</a>
-<a href="#730" id="730">730</a>
-<a href="#731" id="731">731</a>
-<a href="#732" id="732">732</a>
-<a href="#733" id="733">733</a>
-<a href="#734" id="734">734</a>
-<a href="#735" id="735">735</a>
-<a href="#736" id="736">736</a>
-<a href="#737" id="737">737</a>
-<a href="#738" id="738">738</a>
-<a href="#739" id="739">739</a>
-<a href="#740" id="740">740</a>
-<a href="#741" id="741">741</a>
-<a href="#742" id="742">742</a>
-<a href="#743" id="743">743</a>
-<a href="#744" id="744">744</a>
-<a href="#745" id="745">745</a>
-<a href="#746" id="746">746</a>
-<a href="#747" id="747">747</a>
-<a href="#748" id="748">748</a>
-<a href="#749" id="749">749</a>
-<a href="#750" id="750">750</a>
-<a href="#751" id="751">751</a>
-<a href="#752" id="752">752</a>
-<a href="#753" id="753">753</a>
-<a href="#754" id="754">754</a>
-<a href="#755" id="755">755</a>
-<a href="#756" id="756">756</a>
-<a href="#757" id="757">757</a>
-<a href="#758" id="758">758</a>
-<a href="#759" id="759">759</a>
-<a href="#760" id="760">760</a>
-<a href="#761" id="761">761</a>
-<a href="#762" id="762">762</a>
-<a href="#763" id="763">763</a>
-<a href="#764" id="764">764</a>
-<a href="#765" id="765">765</a>
-<a href="#766" id="766">766</a>
-<a href="#767" id="767">767</a>
-<a href="#768" id="768">768</a>
-<a href="#769" id="769">769</a>
-<a href="#770" id="770">770</a>
-<a href="#771" id="771">771</a>
-<a href="#772" id="772">772</a>
-<a href="#773" id="773">773</a>
-<a href="#774" id="774">774</a>
-<a href="#775" id="775">775</a>
-<a href="#776" id="776">776</a>
-<a href="#777" id="777">777</a>
-<a href="#778" id="778">778</a>
-<a href="#779" id="779">779</a>
-<a href="#780" id="780">780</a>
-<a href="#781" id="781">781</a>
-<a href="#782" id="782">782</a>
-<a href="#783" id="783">783</a>
-<a href="#784" id="784">784</a>
-<a href="#785" id="785">785</a>
-<a href="#786" id="786">786</a>
-<a href="#787" id="787">787</a>
-<a href="#788" id="788">788</a>
-<a href="#789" id="789">789</a>
-<a href="#790" id="790">790</a>
-<a href="#791" id="791">791</a>
-<a href="#792" id="792">792</a>
-<a href="#793" id="793">793</a>
-<a href="#794" id="794">794</a>
-<a href="#795" id="795">795</a>
-<a href="#796" id="796">796</a>
-<a href="#797" id="797">797</a>
-<a href="#798" id="798">798</a>
-<a href="#799" id="799">799</a>
-<a href="#800" id="800">800</a>
-<a href="#801" id="801">801</a>
-<a href="#802" id="802">802</a>
-<a href="#803" id="803">803</a>
-<a href="#804" id="804">804</a>
-<a href="#805" id="805">805</a>
-<a href="#806" id="806">806</a>
-<a href="#807" id="807">807</a>
-<a href="#808" id="808">808</a>
-<a href="#809" id="809">809</a>
-<a href="#810" id="810">810</a>
-<a href="#811" id="811">811</a>
-<a href="#812" id="812">812</a>
-<a href="#813" id="813">813</a>
-<a href="#814" id="814">814</a>
-<a href="#815" id="815">815</a>
-<a href="#816" id="816">816</a>
-<a href="#817" id="817">817</a>
-<a href="#818" id="818">818</a>
-<a href="#819" id="819">819</a>
-<a href="#820" id="820">820</a>
-<a href="#821" id="821">821</a>
-<a href="#822" id="822">822</a>
-<a href="#823" id="823">823</a>
-<a href="#824" id="824">824</a>
-<a href="#825" id="825">825</a>
-<a href="#826" id="826">826</a>
-<a href="#827" id="827">827</a>
-<a href="#828" id="828">828</a>
-<a href="#829" id="829">829</a>
-<a href="#830" id="830">830</a>
-<a href="#831" id="831">831</a>
-<a href="#832" id="832">832</a>
-<a href="#833" id="833">833</a>
-<a href="#834" id="834">834</a>
-<a href="#835" id="835">835</a>
-<a href="#836" id="836">836</a>
-<a href="#837" id="837">837</a>
-<a href="#838" id="838">838</a>
-<a href="#839" id="839">839</a>
-<a href="#840" id="840">840</a>
-<a href="#841" id="841">841</a>
-<a href="#842" id="842">842</a>
-<a href="#843" id="843">843</a>
-<a href="#844" id="844">844</a>
-<a href="#845" id="845">845</a>
-<a href="#846" id="846">846</a>
-<a href="#847" id="847">847</a>
-<a href="#848" id="848">848</a>
-<a href="#849" id="849">849</a>
-<a href="#850" id="850">850</a>
-<a href="#851" id="851">851</a>
-<a href="#852" id="852">852</a>
-<a href="#853" id="853">853</a>
-<a href="#854" id="854">854</a>
-<a href="#855" id="855">855</a>
-<a href="#856" id="856">856</a>
-<a href="#857" id="857">857</a>
-<a href="#858" id="858">858</a>
-<a href="#859" id="859">859</a>
-<a href="#860" id="860">860</a>
-<a href="#861" id="861">861</a>
-<a href="#862" id="862">862</a>
-<a href="#863" id="863">863</a>
-<a href="#864" id="864">864</a>
-<a href="#865" id="865">865</a>
-<a href="#866" id="866">866</a>
-<a href="#867" id="867">867</a>
-<a href="#868" id="868">868</a>
-<a href="#869" id="869">869</a>
-<a href="#870" id="870">870</a>
-<a href="#871" id="871">871</a>
-<a href="#872" id="872">872</a>
-<a href="#873" id="873">873</a>
-<a href="#874" id="874">874</a>
-<a href="#875" id="875">875</a>
-<a href="#876" id="876">876</a>
-<a href="#877" id="877">877</a>
-<a href="#878" id="878">878</a>
-<a href="#879" id="879">879</a>
-<a href="#880" id="880">880</a>
-<a href="#881" id="881">881</a>
-<a href="#882" id="882">882</a>
-<a href="#883" id="883">883</a>
-<a href="#884" id="884">884</a>
-<a href="#885" id="885">885</a>
-<a href="#886" id="886">886</a>
-<a href="#887" id="887">887</a>
-<a href="#888" id="888">888</a>
-<a href="#889" id="889">889</a>
-<a href="#890" id="890">890</a>
-<a href="#891" id="891">891</a>
-<a href="#892" id="892">892</a>
-<a href="#893" id="893">893</a>
-<a href="#894" id="894">894</a>
-<a href="#895" id="895">895</a>
-<a href="#896" id="896">896</a>
-<a href="#897" id="897">897</a>
-<a href="#898" id="898">898</a>
-<a href="#899" id="899">899</a>
-<a href="#900" id="900">900</a>
-<a href="#901" id="901">901</a>
-<a href="#902" id="902">902</a>
-<a href="#903" id="903">903</a>
-<a href="#904" id="904">904</a>
-<a href="#905" id="905">905</a>
-<a href="#906" id="906">906</a>
-<a href="#907" id="907">907</a>
-<a href="#908" id="908">908</a>
-<a href="#909" id="909">909</a>
-<a href="#910" id="910">910</a>
-<a href="#911" id="911">911</a>
-<a href="#912" id="912">912</a>
-<a href="#913" id="913">913</a>
-<a href="#914" id="914">914</a>
-<a href="#915" id="915">915</a>
-<a href="#916" id="916">916</a>
-<a href="#917" id="917">917</a>
-<a href="#918" id="918">918</a>
-<a href="#919" id="919">919</a>
-<a href="#920" id="920">920</a>
-<a href="#921" id="921">921</a>
-<a href="#922" id="922">922</a>
-<a href="#923" id="923">923</a>
-<a href="#924" id="924">924</a>
-<a href="#925" id="925">925</a>
-<a href="#926" id="926">926</a>
-<a href="#927" id="927">927</a>
-<a href="#928" id="928">928</a>
-<a href="#929" id="929">929</a>
-<a href="#930" id="930">930</a>
-<a href="#931" id="931">931</a>
-<a href="#932" id="932">932</a>
-<a href="#933" id="933">933</a>
-<a href="#934" id="934">934</a>
-<a href="#935" id="935">935</a>
-<a href="#936" id="936">936</a>
-<a href="#937" id="937">937</a>
-<a href="#938" id="938">938</a>
-<a href="#939" id="939">939</a>
-<a href="#940" id="940">940</a>
-<a href="#941" id="941">941</a>
-<a href="#942" id="942">942</a>
-<a href="#943" id="943">943</a>
-<a href="#944" id="944">944</a>
-<a href="#945" id="945">945</a>
-<a href="#946" id="946">946</a>
-</pre></div><pre class="rust"><code><span class="kw">use crate</span>::{
- collections::<span class="kw-2">*</span>,
- indexed_tx_graph::Indexer,
- miniscript::{Descriptor, DescriptorPublicKey},
- spk_iter::BIP32_MAX_INDEX,
- DescriptorExt, DescriptorId, SpkIterator, SpkTxOutIndex,
-};
-<span class="kw">use </span>alloc::{borrow::ToOwned, vec::Vec};
-<span class="kw">use </span>bitcoin::{Amount, OutPoint, Script, SignedAmount, Transaction, TxOut, Txid};
-<span class="kw">use </span>core::{
- fmt::Debug,
- ops::{Bound, RangeBounds},
-};
-
-<span class="kw">use super</span>::<span class="kw-2">*</span>;
-<span class="kw">use </span><span class="kw">crate</span>::Append;
-
-<span class="doccomment">/// The default lookahead for a [`KeychainTxOutIndex`]
-</span><span class="kw">pub const </span>DEFAULT_LOOKAHEAD: u32 = <span class="number">25</span>;
-
-<span class="doccomment">/// [`KeychainTxOutIndex`] controls how script pubkeys are revealed for multiple keychains, and
-/// indexes [`TxOut`]s with them.
-///
-/// A single keychain is a chain of script pubkeys derived from a single [`Descriptor`]. Keychains
-/// are identified using the `K` generic. Script pubkeys are identified by the keychain that they
-/// are derived from `K`, as well as the derivation index `u32`.
-///
-/// There is a strict 1-to-1 relationship between descriptors and keychains. Each keychain has one
-/// and only one descriptor and each descriptor has one and only one keychain. The
-/// [`insert_descriptor`] method will return an error if you try and violate this invariant. This
-/// rule is a proxy for a stronger rule: no two descriptors should produce the same script pubkey.
-/// Having two descriptors produce the same script pubkey should cause whichever keychain derives
-/// the script pubkey first to be the effective owner of it but you should not rely on this
-/// behaviour. ⚠ It is up you, the developer, not to violate this invariant.
-///
-/// # Revealed script pubkeys
-///
-/// Tracking how script pubkeys are revealed is useful for collecting chain data. For example, if
-/// the user has requested 5 script pubkeys (to receive money with), we only need to use those
-/// script pubkeys to scan for chain data.
-///
-/// Call [`reveal_to_target`] or [`reveal_next_spk`] to reveal more script pubkeys.
-/// Call [`revealed_keychain_spks`] or [`revealed_spks`] to iterate through revealed script pubkeys.
-///
-/// # Lookahead script pubkeys
-///
-/// When an user first recovers a wallet (i.e. from a recovery phrase and/or descriptor), we will
-/// NOT have knowledge of which script pubkeys are revealed. So when we index a transaction or
-/// txout (using [`index_tx`]/[`index_txout`]) we scan the txouts against script pubkeys derived
-/// above the last revealed index. These additionally-derived script pubkeys are called the
-/// lookahead.
-///
-/// The [`KeychainTxOutIndex`] is constructed with the `lookahead` and cannot be altered. See
-/// [`DEFAULT_LOOKAHEAD`] for the value used in the `Default` implementation. Use [`new`] to set a
-/// custom `lookahead`.
-///
-/// # Unbounded script pubkey iterator
-///
-/// For script-pubkey-based chain sources (such as Electrum/Esplora), an initial scan is best done
-/// by iterating though derived script pubkeys one by one and requesting transaction histories for
-/// each script pubkey. We will stop after x-number of script pubkeys have empty histories. An
-/// unbounded script pubkey iterator is useful to pass to such a chain source because it doesn't
-/// require holding a reference to the index.
-///
-/// Call [`unbounded_spk_iter`] to get an unbounded script pubkey iterator for a given keychain.
-/// Call [`all_unbounded_spk_iters`] to get unbounded script pubkey iterators for all keychains.
-///
-/// # Change sets
-///
-/// Methods that can update the last revealed index or add keychains will return [`ChangeSet`] to report
-/// these changes. This should be persisted for future recovery.
-///
-/// ## Synopsis
-///
-/// ```
-/// use bdk_chain::keychain::KeychainTxOutIndex;
-/// # use bdk_chain::{ miniscript::{Descriptor, DescriptorPublicKey} };
-/// # use core::str::FromStr;
-///
-/// // imagine our service has internal and external addresses but also addresses for users
-/// #[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd)]
-/// enum MyKeychain {
-/// External,
-/// Internal,
-/// MyAppUser {
-/// user_id: u32
-/// }
-/// }
-///
-/// let mut txout_index = KeychainTxOutIndex::<MyKeychain>::default();
-///
-/// # let secp = bdk_chain::bitcoin::secp256k1::Secp256k1::signing_only();
-/// # let (external_descriptor,_) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/0/*)").unwrap();
-/// # let (internal_descriptor,_) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/1/*)").unwrap();
-/// # let (descriptor_42, _) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/2/*)").unwrap();
-/// let _ = txout_index.insert_descriptor(MyKeychain::External, external_descriptor)?;
-/// let _ = txout_index.insert_descriptor(MyKeychain::Internal, internal_descriptor)?;
-/// let _ = txout_index.insert_descriptor(MyKeychain::MyAppUser { user_id: 42 }, descriptor_42)?;
-///
-/// let new_spk_for_user = txout_index.reveal_next_spk(&MyKeychain::MyAppUser{ user_id: 42 });
-/// # Ok::<_, bdk_chain::keychain::InsertDescriptorError<_>>(())
-/// ```
-///
-/// [`Ord`]: core::cmp::Ord
-/// [`SpkTxOutIndex`]: crate::spk_txout_index::SpkTxOutIndex
-/// [`Descriptor`]: crate::miniscript::Descriptor
-/// [`reveal_to_target`]: Self::reveal_to_target
-/// [`reveal_next_spk`]: Self::reveal_next_spk
-/// [`revealed_keychain_spks`]: Self::revealed_keychain_spks
-/// [`revealed_spks`]: Self::revealed_spks
-/// [`index_tx`]: Self::index_tx
-/// [`index_txout`]: Self::index_txout
-/// [`new`]: Self::new
-/// [`unbounded_spk_iter`]: Self::unbounded_spk_iter
-/// [`all_unbounded_spk_iters`]: Self::all_unbounded_spk_iters
-/// [`outpoints`]: Self::outpoints
-/// [`txouts`]: Self::txouts
-/// [`unused_spks`]: Self::unused_spks
-/// [`insert_descriptor`]: Self::insert_descriptor
-</span><span class="attr">#[derive(Clone, Debug)]
-</span><span class="kw">pub struct </span>KeychainTxOutIndex<K> {
- inner: SpkTxOutIndex<(K, u32)>,
- keychain_to_descriptor_id: BTreeMap<K, DescriptorId>,
- descriptor_id_to_keychain: HashMap<DescriptorId, K>,
- descriptors: HashMap<DescriptorId, Descriptor<DescriptorPublicKey>>,
- last_revealed: HashMap<DescriptorId, u32>,
- lookahead: u32,
-}
-
-<span class="kw">impl</span><K> Default <span class="kw">for </span>KeychainTxOutIndex<K> {
- <span class="kw">fn </span>default() -> <span class="self">Self </span>{
- <span class="self">Self</span>::new(DEFAULT_LOOKAHEAD)
- }
-}
-
-<span class="kw">impl</span><K: Clone + Ord + Debug> Indexer <span class="kw">for </span>KeychainTxOutIndex<K> {
- <span class="kw">type </span>ChangeSet = ChangeSet<K>;
-
- <span class="kw">fn </span>index_txout(<span class="kw-2">&mut </span><span class="self">self</span>, outpoint: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="self">Self</span>::ChangeSet {
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
- <span class="kw">if let </span><span class="prelude-val">Some</span>((keychain, index)) = <span class="self">self</span>.inner.scan_txout(outpoint, txout).cloned() {
- <span class="kw">let </span>did = <span class="self">self
- </span>.keychain_to_descriptor_id
- .get(<span class="kw-2">&</span>keychain)
- .expect(<span class="string">"invariant"</span>);
- <span class="kw">if </span><span class="self">self</span>.last_revealed.get(did) < <span class="prelude-val">Some</span>(<span class="kw-2">&</span>index) {
- <span class="self">self</span>.last_revealed.insert(<span class="kw-2">*</span>did, index);
- changeset.last_revealed.insert(<span class="kw-2">*</span>did, index);
- <span class="self">self</span>.replenish_inner_index(<span class="kw-2">*</span>did, <span class="kw-2">&</span>keychain, <span class="self">self</span>.lookahead);
- }
- }
- changeset
- }
-
- <span class="kw">fn </span>index_tx(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>bitcoin::Transaction) -> <span class="self">Self</span>::ChangeSet {
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::<K>::default();
- <span class="kw">let </span>txid = tx.compute_txid();
- <span class="kw">for </span>(op, txout) <span class="kw">in </span>tx.output.iter().enumerate() {
- changeset.append(<span class="self">self</span>.index_txout(OutPoint::new(txid, op <span class="kw">as </span>u32), txout));
- }
- changeset
- }
-
- <span class="kw">fn </span>initial_changeset(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="self">Self</span>::ChangeSet {
- ChangeSet {
- keychains_added: <span class="self">self
- </span>.keychains()
- .map(|(k, v)| (k.clone(), v.clone()))
- .collect(),
- last_revealed: <span class="self">self</span>.last_revealed.clone().into_iter().collect(),
- }
- }
-
- <span class="kw">fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, changeset: <span class="self">Self</span>::ChangeSet) {
- <span class="self">self</span>.apply_changeset(changeset)
- }
-
- <span class="kw">fn </span>is_tx_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>bitcoin::Transaction) -> bool {
- <span class="self">self</span>.inner.is_relevant(tx)
- }
-}
-
-<span class="kw">impl</span><K> KeychainTxOutIndex<K> {
- <span class="doccomment">/// Construct a [`KeychainTxOutIndex`] with the given `lookahead`.
- ///
- /// The `lookahead` is the number of script pubkeys to derive and cache from the internal
- /// descriptors over and above the last revealed script index. Without a lookahead the index
- /// will miss outputs you own when processing transactions whose output script pubkeys lie
- /// beyond the last revealed index. In certain situations, such as when performing an initial
- /// scan of the blockchain during wallet import, it may be uncertain or unknown what the index
- /// of the last revealed script pubkey actually is.
- ///
- /// Refer to [struct-level docs](KeychainTxOutIndex) for more about `lookahead`.
- </span><span class="kw">pub fn </span>new(lookahead: u32) -> <span class="self">Self </span>{
- <span class="self">Self </span>{
- inner: SpkTxOutIndex::default(),
- keychain_to_descriptor_id: Default::default(),
- descriptors: Default::default(),
- descriptor_id_to_keychain: Default::default(),
- last_revealed: Default::default(),
- lookahead,
- }
- }
-}
-
-<span class="doccomment">/// Methods that are *re-exposed* from the internal [`SpkTxOutIndex`].
-</span><span class="kw">impl</span><K: Clone + Ord + Debug> KeychainTxOutIndex<K> {
- <span class="doccomment">/// Return a reference to the internal [`SpkTxOutIndex`].
- ///
- /// **WARNING**: The internal index will contain lookahead spks. Refer to
- /// [struct-level docs](KeychainTxOutIndex) for more about `lookahead`.
- </span><span class="kw">pub fn </span>inner(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>SpkTxOutIndex<(K, u32)> {
- <span class="kw-2">&</span><span class="self">self</span>.inner
- }
-
- <span class="doccomment">/// Get the set of indexed outpoints, corresponding to tracked keychains.
- </span><span class="kw">pub fn </span>outpoints(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>BTreeSet<KeychainIndexed<K, OutPoint>> {
- <span class="self">self</span>.inner.outpoints()
- }
-
- <span class="doccomment">/// Iterate over known txouts that spend to tracked script pubkeys.
- </span><span class="kw">pub fn </span>txouts(
- <span class="kw-2">&</span><span class="self">self</span>,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, (OutPoint, <span class="kw-2">&</span>TxOut)>> + ExactSizeIterator
- {
- <span class="self">self</span>.inner
- .txouts()
- .map(|(index, op, txout)| (index.clone(), (op, txout)))
- }
-
- <span class="doccomment">/// Finds all txouts on a transaction that has previously been scanned and indexed.
- </span><span class="kw">pub fn </span>txouts_in_tx(
- <span class="kw-2">&</span><span class="self">self</span>,
- txid: Txid,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, (OutPoint, <span class="kw-2">&</span>TxOut)>> {
- <span class="self">self</span>.inner
- .txouts_in_tx(txid)
- .map(|(index, op, txout)| (index.clone(), (op, txout)))
- }
-
- <span class="doccomment">/// Return the [`TxOut`] of `outpoint` if it has been indexed, and if it corresponds to a
- /// tracked keychain.
- ///
- /// The associated keychain and keychain index of the txout's spk is also returned.
- ///
- /// This calls [`SpkTxOutIndex::txout`] internally.
- </span><span class="kw">pub fn </span>txout(<span class="kw-2">&</span><span class="self">self</span>, outpoint: OutPoint) -> <span class="prelude-ty">Option</span><KeychainIndexed<K, <span class="kw-2">&</span>TxOut>> {
- <span class="self">self</span>.inner
- .txout(outpoint)
- .map(|(index, txout)| (index.clone(), txout))
- }
-
- <span class="doccomment">/// Return the script that exists under the given `keychain`'s `index`.
- ///
- /// This calls [`SpkTxOutIndex::spk_at_index`] internally.
- </span><span class="kw">pub fn </span>spk_at_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: K, index: u32) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>Script> {
- <span class="self">self</span>.inner.spk_at_index(<span class="kw-2">&</span>(keychain.clone(), index))
- }
-
- <span class="doccomment">/// Returns the keychain and keychain index associated with the spk.
- ///
- /// This calls [`SpkTxOutIndex::index_of_spk`] internally.
- </span><span class="kw">pub fn </span>index_of_spk(<span class="kw-2">&</span><span class="self">self</span>, script: <span class="kw-2">&</span>Script) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>(K, u32)> {
- <span class="self">self</span>.inner.index_of_spk(script)
- }
-
- <span class="doccomment">/// Returns whether the spk under the `keychain`'s `index` has been used.
- ///
- /// Here, "unused" means that after the script pubkey was stored in the index, the index has
- /// never scanned a transaction output with it.
- ///
- /// This calls [`SpkTxOutIndex::is_used`] internally.
- </span><span class="kw">pub fn </span>is_used(<span class="kw-2">&</span><span class="self">self</span>, keychain: K, index: u32) -> bool {
- <span class="self">self</span>.inner.is_used(<span class="kw-2">&</span>(keychain, index))
- }
-
- <span class="doccomment">/// Marks the script pubkey at `index` as used even though the tracker hasn't seen an output
- /// with it.
- ///
- /// This only has an effect when the `index` had been added to `self` already and was unused.
- ///
- /// Returns whether the spk under the given `keychain` and `index` is successfully
- /// marked as used. Returns false either when there is no descriptor under the given
- /// keychain, or when the spk is already marked as used.
- ///
- /// This is useful when you want to reserve a script pubkey for something but don't want to add
- /// the transaction output using it to the index yet. Other callers will consider `index` on
- /// `keychain` used until you call [`unmark_used`].
- ///
- /// This calls [`SpkTxOutIndex::mark_used`] internally.
- ///
- /// [`unmark_used`]: Self::unmark_used
- </span><span class="kw">pub fn </span>mark_used(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: K, index: u32) -> bool {
- <span class="self">self</span>.inner.mark_used(<span class="kw-2">&</span>(keychain, index))
- }
-
- <span class="doccomment">/// Undoes the effect of [`mark_used`]. Returns whether the `index` is inserted back into
- /// `unused`.
- ///
- /// Note that if `self` has scanned an output with this script pubkey, then this will have no
- /// effect.
- ///
- /// This calls [`SpkTxOutIndex::unmark_used`] internally.
- ///
- /// [`mark_used`]: Self::mark_used
- </span><span class="kw">pub fn </span>unmark_used(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: K, index: u32) -> bool {
- <span class="self">self</span>.inner.unmark_used(<span class="kw-2">&</span>(keychain, index))
- }
-
- <span class="doccomment">/// Computes the total value transfer effect `tx` has on the script pubkeys belonging to the
- /// keychains in `range`. Value is *sent* when a script pubkey in the `range` is on an input and
- /// *received* when it is on an output. For `sent` to be computed correctly, the output being
- /// spent must have already been scanned by the index. Calculating received just uses the
- /// [`Transaction`] outputs directly, so it will be correct even if it has not been scanned.
- </span><span class="kw">pub fn </span>sent_and_received(
- <span class="kw-2">&</span><span class="self">self</span>,
- tx: <span class="kw-2">&</span>Transaction,
- range: <span class="kw">impl </span>RangeBounds<K>,
- ) -> (Amount, Amount) {
- <span class="self">self</span>.inner
- .sent_and_received(tx, <span class="self">self</span>.map_to_inner_bounds(range))
- }
-
- <span class="doccomment">/// Computes the net value that this transaction gives to the script pubkeys in the index and
- /// *takes* from the transaction outputs in the index. Shorthand for calling
- /// [`sent_and_received`] and subtracting sent from received.
- ///
- /// This calls [`SpkTxOutIndex::net_value`] internally.
- ///
- /// [`sent_and_received`]: Self::sent_and_received
- </span><span class="kw">pub fn </span>net_value(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction, range: <span class="kw">impl </span>RangeBounds<K>) -> SignedAmount {
- <span class="self">self</span>.inner.net_value(tx, <span class="self">self</span>.map_to_inner_bounds(range))
- }
-}
-
-<span class="kw">impl</span><K: Clone + Ord + Debug> KeychainTxOutIndex<K> {
- <span class="doccomment">/// Return all keychains and their corresponding descriptors.
- </span><span class="kw">pub fn </span>keychains(
- <span class="kw-2">&</span><span class="self">self</span>,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>K, <span class="kw-2">&</span>Descriptor<DescriptorPublicKey>)> + ExactSizeIterator + <span class="lifetime">'_
- </span>{
- <span class="self">self</span>.keychain_to_descriptor_id
- .iter()
- .map(|(k, did)| (k, <span class="self">self</span>.descriptors.get(did).expect(<span class="string">"invariant"</span>)))
- }
-
- <span class="doccomment">/// Insert a descriptor with a keychain associated to it.
- ///
- /// Adding a descriptor means you will be able to derive new script pubkeys under it and the
- /// txout index will discover transaction outputs with those script pubkeys (once they've been
- /// derived and added to the index).
- ///
- /// keychain <-> descriptor is a one-to-one mapping that cannot be changed. Attempting to do so
- /// will return a [`InsertDescriptorError<K>`].
- ///
- /// `[KeychainTxOutIndex]` will prevent you from inserting two descriptors which derive the same
- /// script pubkey at index 0, but it's up to you to ensure that descriptors don't collide at
- /// other indices. If they do nothing catastrophic happens at the `KeychainTxOutIndex` level
- /// (one keychain just becomes the defacto owner of that spk arbitrarily) but this may have
- /// subtle implications up the application stack like one UTXO being missing from one keychain
- /// because it has been assigned to another which produces the same script pubkey.
- </span><span class="kw">pub fn </span>insert_descriptor(
- <span class="kw-2">&mut </span><span class="self">self</span>,
- keychain: K,
- descriptor: Descriptor<DescriptorPublicKey>,
- ) -> <span class="prelude-ty">Result</span><ChangeSet<K>, InsertDescriptorError<K>> {
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::<K>::default();
- <span class="kw">let </span>did = descriptor.descriptor_id();
- <span class="kw">if </span>!<span class="self">self</span>.keychain_to_descriptor_id.contains_key(<span class="kw-2">&</span>keychain)
- && !<span class="self">self</span>.descriptor_id_to_keychain.contains_key(<span class="kw-2">&</span>did)
- {
- <span class="self">self</span>.descriptors.insert(did, descriptor.clone());
- <span class="self">self</span>.keychain_to_descriptor_id.insert(keychain.clone(), did);
- <span class="self">self</span>.descriptor_id_to_keychain.insert(did, keychain.clone());
- <span class="self">self</span>.replenish_inner_index(did, <span class="kw-2">&</span>keychain, <span class="self">self</span>.lookahead);
- changeset
- .keychains_added
- .insert(keychain.clone(), descriptor);
- } <span class="kw">else </span>{
- <span class="kw">if let </span><span class="prelude-val">Some</span>(existing_desc_id) = <span class="self">self</span>.keychain_to_descriptor_id.get(<span class="kw-2">&</span>keychain) {
- <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(existing_desc_id).expect(<span class="string">"invariant"</span>);
- <span class="kw">if </span><span class="kw-2">*</span>existing_desc_id != did {
- <span class="kw">return </span><span class="prelude-val">Err</span>(InsertDescriptorError::KeychainAlreadyAssigned {
- existing_assignment: descriptor.clone(),
- keychain,
- });
- }
- }
-
- <span class="kw">if let </span><span class="prelude-val">Some</span>(existing_keychain) = <span class="self">self</span>.descriptor_id_to_keychain.get(<span class="kw-2">&</span>did) {
- <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(<span class="kw-2">&</span>did).expect(<span class="string">"invariant"</span>).clone();
-
- <span class="kw">if </span><span class="kw-2">*</span>existing_keychain != keychain {
- <span class="kw">return </span><span class="prelude-val">Err</span>(InsertDescriptorError::DescriptorAlreadyAssigned {
- existing_assignment: existing_keychain.clone(),
- descriptor,
- });
- }
- }
- }
-
- <span class="prelude-val">Ok</span>(changeset)
- }
-
- <span class="doccomment">/// Gets the descriptor associated with the keychain. Returns `None` if the keychain doesn't
- /// have a descriptor associated with it.
- </span><span class="kw">pub fn </span>get_descriptor(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>Descriptor<DescriptorPublicKey>> {
- <span class="kw">let </span>did = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
- <span class="self">self</span>.descriptors.get(did)
- }
-
- <span class="doccomment">/// Get the lookahead setting.
- ///
- /// Refer to [`new`] for more information on the `lookahead`.
- ///
- /// [`new`]: Self::new
- </span><span class="kw">pub fn </span>lookahead(<span class="kw-2">&</span><span class="self">self</span>) -> u32 {
- <span class="self">self</span>.lookahead
- }
-
- <span class="doccomment">/// Store lookahead scripts until `target_index` (inclusive).
- ///
- /// This does not change the global `lookahead` setting.
- </span><span class="kw">pub fn </span>lookahead_to_target(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K, target_index: u32) {
- <span class="kw">if let </span><span class="prelude-val">Some</span>((next_index, <span class="kw">_</span>)) = <span class="self">self</span>.next_index(keychain) {
- <span class="kw">let </span>temp_lookahead = (target_index + <span class="number">1</span>)
- .checked_sub(next_index)
- .filter(|<span class="kw-2">&</span>index| index > <span class="number">0</span>);
-
- <span class="kw">if let </span><span class="prelude-val">Some</span>(temp_lookahead) = temp_lookahead {
- <span class="self">self</span>.replenish_inner_index_keychain(keychain, temp_lookahead);
- }
- }
- }
-
- <span class="kw">fn </span>replenish_inner_index_did(<span class="kw-2">&mut </span><span class="self">self</span>, did: DescriptorId, lookahead: u32) {
- <span class="kw">if let </span><span class="prelude-val">Some</span>(keychain) = <span class="self">self</span>.descriptor_id_to_keychain.get(<span class="kw-2">&</span>did).cloned() {
- <span class="self">self</span>.replenish_inner_index(did, <span class="kw-2">&</span>keychain, lookahead);
- }
- }
-
- <span class="kw">fn </span>replenish_inner_index_keychain(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K, lookahead: u32) {
- <span class="kw">if let </span><span class="prelude-val">Some</span>(did) = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain) {
- <span class="self">self</span>.replenish_inner_index(<span class="kw-2">*</span>did, keychain, lookahead);
- }
- }
-
- <span class="doccomment">/// Syncs the state of the inner spk index after changes to a keychain
- </span><span class="kw">fn </span>replenish_inner_index(<span class="kw-2">&mut </span><span class="self">self</span>, did: DescriptorId, keychain: <span class="kw-2">&</span>K, lookahead: u32) {
- <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(<span class="kw-2">&</span>did).expect(<span class="string">"invariant"</span>);
- <span class="kw">let </span>next_store_index = <span class="self">self
- </span>.inner
- .all_spks()
- .range(<span class="kw-2">&</span>(keychain.clone(), u32::MIN)..=<span class="kw-2">&</span>(keychain.clone(), u32::MAX))
- .last()
- .map_or(<span class="number">0</span>, |((<span class="kw">_</span>, index), <span class="kw">_</span>)| <span class="kw-2">*</span>index + <span class="number">1</span>);
- <span class="kw">let </span>next_reveal_index = <span class="self">self</span>.last_revealed.get(<span class="kw-2">&</span>did).map_or(<span class="number">0</span>, |v| <span class="kw-2">*</span>v + <span class="number">1</span>);
- <span class="kw">for </span>(new_index, new_spk) <span class="kw">in
- </span>SpkIterator::new_with_range(descriptor, next_store_index..next_reveal_index + lookahead)
- {
- <span class="kw">let </span>_inserted = <span class="self">self
- </span>.inner
- .insert_spk((keychain.clone(), new_index), new_spk);
- <span class="macro">debug_assert!</span>(_inserted, <span class="string">"replenish lookahead: must not have existing spk: keychain={:?}, lookahead={}, next_store_index={}, next_reveal_index={}"</span>, keychain, lookahead, next_store_index, next_reveal_index);
- }
- }
-
- <span class="doccomment">/// Get an unbounded spk iterator over a given `keychain`. Returns `None` if the provided
- /// keychain doesn't exist
- </span><span class="kw">pub fn </span>unbounded_spk_iter(
- <span class="kw-2">&</span><span class="self">self</span>,
- keychain: <span class="kw-2">&</span>K,
- ) -> <span class="prelude-ty">Option</span><SpkIterator<Descriptor<DescriptorPublicKey>>> {
- <span class="kw">let </span>descriptor = <span class="self">self</span>.get_descriptor(keychain)<span class="question-mark">?</span>.clone();
- <span class="prelude-val">Some</span>(SpkIterator::new(descriptor))
- }
-
- <span class="doccomment">/// Get unbounded spk iterators for all keychains.
- </span><span class="kw">pub fn </span>all_unbounded_spk_iters(
- <span class="kw-2">&</span><span class="self">self</span>,
- ) -> BTreeMap<K, SpkIterator<Descriptor<DescriptorPublicKey>>> {
- <span class="self">self</span>.keychain_to_descriptor_id
- .iter()
- .map(|(k, did)| {
- (
- k.clone(),
- SpkIterator::new(<span class="self">self</span>.descriptors.get(did).expect(<span class="string">"invariant"</span>).clone()),
- )
- })
- .collect()
- }
-
- <span class="doccomment">/// Iterate over revealed spks of keychains in `range`
- </span><span class="kw">pub fn </span>revealed_spks(
- <span class="kw-2">&</span><span class="self">self</span>,
- range: <span class="kw">impl </span>RangeBounds<K>,
- ) -> <span class="kw">impl </span>Iterator<Item = KeychainIndexed<K, <span class="kw-2">&</span>Script>> {
- <span class="kw">let </span>start = range.start_bound();
- <span class="kw">let </span>end = range.end_bound();
- <span class="kw">let </span><span class="kw-2">mut </span>iter_last_revealed = <span class="self">self
- </span>.keychain_to_descriptor_id
- .range((start, end))
- .map(|(k, did)| (k, <span class="self">self</span>.last_revealed.get(did).cloned()));
- <span class="kw">let </span><span class="kw-2">mut </span>iter_spks = <span class="self">self
- </span>.inner
- .all_spks()
- .range(<span class="self">self</span>.map_to_inner_bounds((start, end)));
- <span class="kw">let </span><span class="kw-2">mut </span>current_keychain = iter_last_revealed.next();
- <span class="comment">// The reason we need a tricky algorithm is because of the "lookahead" feature which means
- // that some of the spks in the SpkTxoutIndex will not have been revealed yet. So we need to
- // filter out those spks that are above the last_revealed for that keychain. To do this we
- // iterate through the last_revealed for each keychain and the spks for each keychain in
- // tandem. This minimizes BTreeMap queries.
- </span>core::iter::from_fn(<span class="kw">move </span>|| <span class="kw">loop </span>{
- <span class="kw">let </span>((keychain, index), spk) = iter_spks.next()<span class="question-mark">?</span>;
- <span class="comment">// We need to find the last revealed that matches the current spk we are considering so
- // we skip ahead.
- </span><span class="kw">while </span>current_keychain<span class="question-mark">?</span>.<span class="number">0 </span>< keychain {
- current_keychain = iter_last_revealed.next();
- }
- <span class="kw">let </span>(current_keychain, last_revealed) = current_keychain<span class="question-mark">?</span>;
-
- <span class="kw">if </span>current_keychain == keychain && <span class="prelude-val">Some</span>(<span class="kw-2">*</span>index) <= last_revealed {
- <span class="kw">break </span><span class="prelude-val">Some</span>(((keychain.clone(), <span class="kw-2">*</span>index), spk.as_script()));
- }
- })
- }
-
- <span class="doccomment">/// Iterate over revealed spks of the given `keychain` with ascending indices.
- ///
- /// This is a double ended iterator so you can easily reverse it to get an iterator where
- /// the script pubkeys that were most recently revealed are first.
- </span><span class="kw">pub fn </span>revealed_keychain_spks<<span class="lifetime">'a</span>>(
- <span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>,
- keychain: <span class="kw-2">&</span><span class="lifetime">'a </span>K,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = Indexed<<span class="kw-2">&</span>Script>> + <span class="lifetime">'a </span>{
- <span class="kw">let </span>end = <span class="self">self
- </span>.last_revealed_index(keychain)
- .map(|v| v + <span class="number">1</span>)
- .unwrap_or(<span class="number">0</span>);
- <span class="self">self</span>.inner
- .all_spks()
- .range((keychain.clone(), <span class="number">0</span>)..(keychain.clone(), end))
- .map(|((<span class="kw">_</span>, index), spk)| (<span class="kw-2">*</span>index, spk.as_script()))
- }
-
- <span class="doccomment">/// Iterate over revealed, but unused, spks of all keychains.
- </span><span class="kw">pub fn </span>unused_spks(
- <span class="kw-2">&</span><span class="self">self</span>,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, <span class="kw-2">&</span>Script>> + Clone {
- <span class="self">self</span>.keychain_to_descriptor_id.keys().flat_map(|keychain| {
- <span class="self">self</span>.unused_keychain_spks(keychain)
- .map(|(i, spk)| ((keychain.clone(), i), spk))
- })
- }
-
- <span class="doccomment">/// Iterate over revealed, but unused, spks of the given `keychain`.
- /// Returns an empty iterator if the provided keychain doesn't exist.
- </span><span class="kw">pub fn </span>unused_keychain_spks(
- <span class="kw-2">&</span><span class="self">self</span>,
- keychain: <span class="kw-2">&</span>K,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = Indexed<<span class="kw-2">&</span>Script>> + Clone {
- <span class="kw">let </span>end = <span class="kw">match </span><span class="self">self</span>.keychain_to_descriptor_id.get(keychain) {
- <span class="prelude-val">Some</span>(did) => <span class="self">self</span>.last_revealed.get(did).map(|v| <span class="kw-2">*</span>v + <span class="number">1</span>).unwrap_or(<span class="number">0</span>),
- <span class="prelude-val">None </span>=> <span class="number">0</span>,
- };
-
- <span class="self">self</span>.inner
- .unused_spks((keychain.clone(), <span class="number">0</span>)..(keychain.clone(), end))
- .map(|((<span class="kw">_</span>, i), spk)| (<span class="kw-2">*</span>i, spk))
- }
-
- <span class="doccomment">/// Get the next derivation index for `keychain`. The next index is the index after the last revealed
- /// derivation index.
- ///
- /// The second field in the returned tuple represents whether the next derivation index is new.
- /// There are two scenarios where the next derivation index is reused (not new):
- ///
- /// 1. The keychain's descriptor has no wildcard, and a script has already been revealed.
- /// 2. The number of revealed scripts has already reached 2^31 (refer to BIP-32).
- ///
- /// Not checking the second field of the tuple may result in address reuse.
- ///
- /// Returns None if the provided `keychain` doesn't exist.
- </span><span class="kw">pub fn </span>next_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><(u32, bool)> {
- <span class="kw">let </span>did = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
- <span class="kw">let </span>last_index = <span class="self">self</span>.last_revealed.get(did).cloned();
- <span class="kw">let </span>descriptor = <span class="self">self</span>.descriptors.get(did).expect(<span class="string">"invariant"</span>);
-
- <span class="comment">// we can only get the next index if the wildcard exists.
- </span><span class="kw">let </span>has_wildcard = descriptor.has_wildcard();
-
- <span class="prelude-val">Some</span>(<span class="kw">match </span>last_index {
- <span class="comment">// if there is no index, next_index is always 0.
- </span><span class="prelude-val">None </span>=> (<span class="number">0</span>, <span class="bool-val">true</span>),
- <span class="comment">// descriptors without wildcards can only have one index.
- </span><span class="prelude-val">Some</span>(<span class="kw">_</span>) <span class="kw">if </span>!has_wildcard => (<span class="number">0</span>, <span class="bool-val">false</span>),
- <span class="comment">// derivation index must be < 2^31 (BIP-32).
- </span><span class="prelude-val">Some</span>(index) <span class="kw">if </span>index > BIP32_MAX_INDEX => {
- <span class="macro">unreachable!</span>(<span class="string">"index is out of bounds"</span>)
- }
- <span class="prelude-val">Some</span>(index) <span class="kw">if </span>index == BIP32_MAX_INDEX => (index, <span class="bool-val">false</span>),
- <span class="comment">// get the next derivation index.
- </span><span class="prelude-val">Some</span>(index) => (index + <span class="number">1</span>, <span class="bool-val">true</span>),
- })
- }
-
- <span class="doccomment">/// Get the last derivation index that is revealed for each keychain.
- ///
- /// Keychains with no revealed indices will not be included in the returned [`BTreeMap`].
- </span><span class="kw">pub fn </span>last_revealed_indices(<span class="kw-2">&</span><span class="self">self</span>) -> BTreeMap<K, u32> {
- <span class="self">self</span>.last_revealed
- .iter()
- .filter_map(|(desc_id, index)| {
- <span class="kw">let </span>keychain = <span class="self">self</span>.descriptor_id_to_keychain.get(desc_id)<span class="question-mark">?</span>;
- <span class="prelude-val">Some</span>((keychain.clone(), <span class="kw-2">*</span>index))
- })
- .collect()
- }
-
- <span class="doccomment">/// Get the last derivation index revealed for `keychain`. Returns None if the keychain doesn't
- /// exist, or if the keychain doesn't have any revealed scripts.
- </span><span class="kw">pub fn </span>last_revealed_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><u32> {
- <span class="kw">let </span>descriptor_id = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
- <span class="self">self</span>.last_revealed.get(descriptor_id).cloned()
- }
-
- <span class="doccomment">/// Convenience method to call [`Self::reveal_to_target`] on multiple keychains.
- </span><span class="kw">pub fn </span>reveal_to_target_multi(<span class="kw-2">&mut </span><span class="self">self</span>, keychains: <span class="kw-2">&</span>BTreeMap<K, u32>) -> ChangeSet<K> {
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
-
- <span class="kw">for </span>(keychain, <span class="kw-2">&</span>index) <span class="kw">in </span>keychains {
- <span class="kw">if let </span><span class="prelude-val">Some</span>((<span class="kw">_</span>, new_changeset)) = <span class="self">self</span>.reveal_to_target(keychain, index) {
- changeset.append(new_changeset);
- }
- }
-
- changeset
- }
-
- <span class="doccomment">/// Reveals script pubkeys of the `keychain`'s descriptor **up to and including** the
- /// `target_index`.
- ///
- /// If the `target_index` cannot be reached (due to the descriptor having no wildcard and/or
- /// the `target_index` is in the hardened index range), this method will make a best-effort and
- /// reveal up to the last possible index.
- ///
- /// This returns list of newly revealed indices (alongside their scripts) and a
- /// [`ChangeSet`], which reports updates to the latest revealed index. If no new script
- /// pubkeys are revealed, then both of these will be empty.
- ///
- /// Returns None if the provided `keychain` doesn't exist.
- </span><span class="attr">#[must_use]
- </span><span class="kw">pub fn </span>reveal_to_target(
- <span class="kw-2">&mut </span><span class="self">self</span>,
- keychain: <span class="kw-2">&</span>K,
- target_index: u32,
- ) -> <span class="prelude-ty">Option</span><(Vec<Indexed<ScriptBuf>>, ChangeSet<K>)> {
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
- <span class="kw">let </span><span class="kw-2">mut </span>spks: Vec<Indexed<ScriptBuf>> = <span class="macro">vec!</span>[];
- <span class="kw">while let </span><span class="prelude-val">Some</span>((i, new)) = <span class="self">self</span>.next_index(keychain) {
- <span class="kw">if </span>!new || i > target_index {
- <span class="kw">break</span>;
- }
- <span class="kw">match </span><span class="self">self</span>.reveal_next_spk(keychain) {
- <span class="prelude-val">Some</span>(((i, spk), change)) => {
- spks.push((i, spk));
- changeset.append(change);
- }
- <span class="prelude-val">None </span>=> <span class="kw">break</span>,
- }
- }
-
- <span class="prelude-val">Some</span>((spks, changeset))
- }
-
- <span class="doccomment">/// Attempts to reveal the next script pubkey for `keychain`.
- ///
- /// Returns the derivation index of the revealed script pubkey, the revealed script pubkey and a
- /// [`ChangeSet`] which represents changes in the last revealed index (if any).
- /// Returns None if the provided keychain doesn't exist.
- ///
- /// When a new script cannot be revealed, we return the last revealed script and an empty
- /// [`ChangeSet`]. There are two scenarios when a new script pubkey cannot be derived:
- ///
- /// 1. The descriptor has no wildcard and already has one script revealed.
- /// 2. The descriptor has already revealed scripts up to the numeric bound.
- /// 3. There is no descriptor associated with the given keychain.
- </span><span class="kw">pub fn </span>reveal_next_spk(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><(Indexed<ScriptBuf>, ChangeSet<K>)> {
- <span class="kw">let </span>(next_index, new) = <span class="self">self</span>.next_index(keychain)<span class="question-mark">?</span>;
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = ChangeSet::default();
-
- <span class="kw">if </span>new {
- <span class="kw">let </span>did = <span class="self">self</span>.keychain_to_descriptor_id.get(keychain)<span class="question-mark">?</span>;
- <span class="self">self</span>.last_revealed.insert(<span class="kw-2">*</span>did, next_index);
- changeset.last_revealed.insert(<span class="kw-2">*</span>did, next_index);
- <span class="self">self</span>.replenish_inner_index(<span class="kw-2">*</span>did, keychain, <span class="self">self</span>.lookahead);
- }
- <span class="kw">let </span>script = <span class="self">self
- </span>.inner
- .spk_at_index(<span class="kw-2">&</span>(keychain.clone(), next_index))
- .expect(<span class="string">"we just inserted it"</span>);
- <span class="prelude-val">Some</span>(((next_index, script.into()), changeset))
- }
-
- <span class="doccomment">/// Gets the next unused script pubkey in the keychain. I.e., the script pubkey with the lowest
- /// index that has not been used yet.
- ///
- /// This will derive and reveal a new script pubkey if no more unused script pubkeys exist.
- ///
- /// If the descriptor has no wildcard and already has a used script pubkey or if a descriptor
- /// has used all scripts up to the derivation bounds, then the last derived script pubkey will be
- /// returned.
- ///
- /// Returns `None` if there are no script pubkeys that have been used and no new script pubkey
- /// could be revealed (see [`reveal_next_spk`] for when this happens).
- ///
- /// [`reveal_next_spk`]: Self::reveal_next_spk
- </span><span class="kw">pub fn </span>next_unused_spk(<span class="kw-2">&mut </span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><(Indexed<ScriptBuf>, ChangeSet<K>)> {
- <span class="kw">let </span>next_unused = <span class="self">self
- </span>.unused_keychain_spks(keychain)
- .next()
- .map(|(i, spk)| ((i, spk.to_owned()), ChangeSet::default()));
-
- next_unused.or_else(|| <span class="self">self</span>.reveal_next_spk(keychain))
- }
-
- <span class="doccomment">/// Iterate over all [`OutPoint`]s that have `TxOut`s with script pubkeys derived from
- /// `keychain`.
- </span><span class="kw">pub fn </span>keychain_outpoints<<span class="lifetime">'a</span>>(
- <span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>,
- keychain: <span class="kw-2">&</span><span class="lifetime">'a </span>K,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = Indexed<OutPoint>> + <span class="lifetime">'a </span>{
- <span class="self">self</span>.keychain_outpoints_in_range(keychain..=keychain)
- .map(|((<span class="kw">_</span>, i), op)| (i, op))
- }
-
- <span class="doccomment">/// Iterate over [`OutPoint`]s that have script pubkeys derived from keychains in `range`.
- </span><span class="kw">pub fn </span>keychain_outpoints_in_range<<span class="lifetime">'a</span>>(
- <span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>,
- range: <span class="kw">impl </span>RangeBounds<K> + <span class="lifetime">'a</span>,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = KeychainIndexed<K, OutPoint>> + <span class="lifetime">'a </span>{
- <span class="self">self</span>.inner
- .outputs_in_range(<span class="self">self</span>.map_to_inner_bounds(range))
- .map(|((k, i), op)| ((k.clone(), <span class="kw-2">*</span>i), op))
- }
-
- <span class="kw">fn </span>map_to_inner_bounds(<span class="kw-2">&</span><span class="self">self</span>, bound: <span class="kw">impl </span>RangeBounds<K>) -> <span class="kw">impl </span>RangeBounds<(K, u32)> {
- <span class="kw">let </span>start = <span class="kw">match </span>bound.start_bound() {
- Bound::Included(keychain) => Bound::Included((keychain.clone(), u32::MIN)),
- Bound::Excluded(keychain) => Bound::Excluded((keychain.clone(), u32::MAX)),
- Bound::Unbounded => Bound::Unbounded,
- };
- <span class="kw">let </span>end = <span class="kw">match </span>bound.end_bound() {
- Bound::Included(keychain) => Bound::Included((keychain.clone(), u32::MAX)),
- Bound::Excluded(keychain) => Bound::Excluded((keychain.clone(), u32::MIN)),
- Bound::Unbounded => Bound::Unbounded,
- };
-
- (start, end)
- }
-
- <span class="doccomment">/// Returns the highest derivation index of the `keychain` where [`KeychainTxOutIndex`] has
- /// found a [`TxOut`] with it's script pubkey.
- </span><span class="kw">pub fn </span>last_used_index(<span class="kw-2">&</span><span class="self">self</span>, keychain: <span class="kw-2">&</span>K) -> <span class="prelude-ty">Option</span><u32> {
- <span class="self">self</span>.keychain_outpoints(keychain).last().map(|(i, <span class="kw">_</span>)| i)
- }
-
- <span class="doccomment">/// Returns the highest derivation index of each keychain that [`KeychainTxOutIndex`] has found
- /// a [`TxOut`] with it's script pubkey.
- </span><span class="kw">pub fn </span>last_used_indices(<span class="kw-2">&</span><span class="self">self</span>) -> BTreeMap<K, u32> {
- <span class="self">self</span>.keychain_to_descriptor_id
- .iter()
- .filter_map(|(keychain, <span class="kw">_</span>)| {
- <span class="self">self</span>.last_used_index(keychain)
- .map(|index| (keychain.clone(), index))
- })
- .collect()
- }
-
- <span class="doccomment">/// Applies the `ChangeSet<K>` to the [`KeychainTxOutIndex<K>`]
- ///
- /// Keychains added by the `keychains_added` field of `ChangeSet<K>` respect the one-to-one
- /// keychain <-> descriptor invariant by silently ignoring attempts to violate it (but will
- /// panic if `debug_assertions` are enabled).
- </span><span class="kw">pub fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, changeset: ChangeSet<K>) {
- <span class="kw">let </span>ChangeSet {
- keychains_added,
- last_revealed,
- } = changeset;
- <span class="kw">for </span>(keychain, descriptor) <span class="kw">in </span>keychains_added {
- <span class="kw">let </span>_ignore_invariant_violation = <span class="self">self</span>.insert_descriptor(keychain, descriptor);
- }
-
- <span class="kw">for </span>(<span class="kw-2">&</span>desc_id, <span class="kw-2">&</span>index) <span class="kw">in </span><span class="kw-2">&</span>last_revealed {
- <span class="kw">let </span>v = <span class="self">self</span>.last_revealed.entry(desc_id).or_default();
- <span class="kw-2">*</span>v = index.max(<span class="kw-2">*</span>v);
- }
-
- <span class="kw">for </span>did <span class="kw">in </span>last_revealed.keys() {
- <span class="self">self</span>.replenish_inner_index_did(<span class="kw-2">*</span>did, <span class="self">self</span>.lookahead);
- }
- }
-}
-
-<span class="attr">#[derive(Clone, Debug, PartialEq)]
-</span><span class="doccomment">/// Error returned from [`KeychainTxOutIndex::insert_descriptor`]
-</span><span class="kw">pub enum </span>InsertDescriptorError<K> {
- <span class="doccomment">/// The descriptor has already been assigned to a keychain so you can't assign it to another
- </span>DescriptorAlreadyAssigned {
- <span class="doccomment">/// The descriptor you have attempted to reassign
- </span>descriptor: Descriptor<DescriptorPublicKey>,
- <span class="doccomment">/// The keychain that the descriptor is already assigned to
- </span>existing_assignment: K,
- },
- <span class="doccomment">/// The keychain is already assigned to a descriptor so you can't reassign it
- </span>KeychainAlreadyAssigned {
- <span class="doccomment">/// The keychain that you have attempted to reassign
- </span>keychain: K,
- <span class="doccomment">/// The descriptor that the keychain is already assigned to
- </span>existing_assignment: Descriptor<DescriptorPublicKey>,
- },
-}
-
-<span class="kw">impl</span><K: core::fmt::Debug> core::fmt::Display <span class="kw">for </span>InsertDescriptorError<K> {
- <span class="kw">fn </span>fmt(<span class="kw-2">&</span><span class="self">self</span>, f: <span class="kw-2">&mut </span>core::fmt::Formatter<<span class="lifetime">'_</span>>) -> core::fmt::Result {
- <span class="kw">match </span><span class="self">self </span>{
- InsertDescriptorError::DescriptorAlreadyAssigned {
- existing_assignment: existing,
- descriptor,
- } => {
- <span class="macro">write!</span>(
- f,
- <span class="string">"attempt to re-assign descriptor {descriptor:?} already assigned to {existing:?}"
- </span>)
- }
- InsertDescriptorError::KeychainAlreadyAssigned {
- existing_assignment: existing,
- keychain,
- } => {
- <span class="macro">write!</span>(
- f,
- <span class="string">"attempt to re-assign keychain {keychain:?} already assigned to {existing:?}"
- </span>)
- }
- }
- }
-}
-
-<span class="attr">#[cfg(feature = <span class="string">"std"</span>)]
-</span><span class="kw">impl</span><K: core::fmt::Debug> std::error::Error <span class="kw">for </span>InsertDescriptorError<K> {}
-
-<span class="doccomment">/// Represents updates to the derivation index of a [`KeychainTxOutIndex`].
-/// It maps each keychain `K` to a descriptor and its last revealed index.
-///
-/// It can be applied to [`KeychainTxOutIndex`] with [`apply_changeset`].
-///
-/// The `last_revealed` field is monotone in that [`append`] will never decrease it.
-/// `keychains_added` is *not* monotone, once it is set any attempt to change it is subject to the
-/// same *one-to-one* keychain <-> descriptor mapping invariant as [`KeychainTxOutIndex`] itself.
-///
-/// [`KeychainTxOutIndex`]: crate::keychain::KeychainTxOutIndex
-/// [`apply_changeset`]: crate::keychain::KeychainTxOutIndex::apply_changeset
-/// [`append`]: Self::append
-</span><span class="attr">#[derive(Clone, Debug, PartialEq)]
-#[cfg_attr(
- feature = <span class="string">"serde"</span>,
- derive(serde::Deserialize, serde::Serialize),
- serde(
- <span class="kw">crate </span>= <span class="string">"serde_crate"</span>,
- bound(
- deserialize = <span class="string">"K: Ord + serde::Deserialize<'de>"</span>,
- serialize = <span class="string">"K: Ord + serde::Serialize"
- </span>)
- )
-)]
-#[must_use]
-</span><span class="kw">pub struct </span>ChangeSet<K> {
- <span class="doccomment">/// Contains the keychains that have been added and their respective descriptor
- </span><span class="kw">pub </span>keychains_added: BTreeMap<K, Descriptor<DescriptorPublicKey>>,
- <span class="doccomment">/// Contains for each descriptor_id the last revealed index of derivation
- </span><span class="kw">pub </span>last_revealed: BTreeMap<DescriptorId, u32>,
-}
-
-<span class="kw">impl</span><K: Ord> Append <span class="kw">for </span>ChangeSet<K> {
- <span class="doccomment">/// Merge another [`ChangeSet<K>`] into self.
- ///
- /// For the `keychains_added` field this method respects the invariants of
- /// [`insert_descriptor`]. `last_revealed` always becomes the larger of the two.
- ///
- /// [`insert_descriptor`]: KeychainTxOutIndex::insert_descriptor
- </span><span class="kw">fn </span>append(<span class="kw-2">&mut </span><span class="self">self</span>, other: <span class="self">Self</span>) {
- <span class="kw">for </span>(new_keychain, new_descriptor) <span class="kw">in </span>other.keychains_added {
- <span class="comment">// enforce 1-to-1 invariance
- </span><span class="kw">if </span>!<span class="self">self</span>.keychains_added.contains_key(<span class="kw-2">&</span>new_keychain)
- <span class="comment">// FIXME: very inefficient
- </span>&& <span class="self">self
- </span>.keychains_added
- .values()
- .all(|descriptor| descriptor != <span class="kw-2">&</span>new_descriptor)
- {
- <span class="self">self</span>.keychains_added.insert(new_keychain, new_descriptor);
- }
- }
-
- <span class="comment">// for `last_revealed`, entries of `other` will take precedence ONLY if it is greater than
- // what was originally in `self`.
- </span><span class="kw">for </span>(desc_id, index) <span class="kw">in </span>other.last_revealed {
- <span class="kw">use </span><span class="kw">crate</span>::collections::btree_map::Entry;
- <span class="kw">match </span><span class="self">self</span>.last_revealed.entry(desc_id) {
- Entry::Vacant(entry) => {
- entry.insert(index);
- }
- Entry::Occupied(<span class="kw-2">mut </span>entry) => {
- <span class="kw">if </span><span class="kw-2">*</span>entry.get() < index {
- entry.insert(index);
- }
- }
- }
- }
- }
-
- <span class="doccomment">/// Returns whether the changeset are empty.
- </span><span class="kw">fn </span>is_empty(<span class="kw-2">&</span><span class="self">self</span>) -> bool {
- <span class="self">self</span>.last_revealed.is_empty() && <span class="self">self</span>.keychains_added.is_empty()
- }
-}
-
-<span class="kw">impl</span><K> Default <span class="kw">for </span>ChangeSet<K> {
- <span class="kw">fn </span>default() -> <span class="self">Self </span>{
- <span class="self">Self </span>{
- last_revealed: BTreeMap::default(),
- keychains_added: BTreeMap::default(),
- }
- }
-}
-
-<span class="attr">#[derive(Clone, Debug, Eq, PartialEq)]
-</span><span class="doccomment">/// The keychain doesn't exist. Most likley hasn't been inserted with [`KeychainTxOutIndex::insert_descriptor`].
-</span><span class="kw">pub struct </span>NoSuchKeychain<K>(K);
-
-<span class="kw">impl</span><K: Debug> core::fmt::Display <span class="kw">for </span>NoSuchKeychain<K> {
- <span class="kw">fn </span>fmt(<span class="kw-2">&</span><span class="self">self</span>, f: <span class="kw-2">&mut </span>core::fmt::Formatter<<span class="lifetime">'_</span>>) -> core::fmt::Result {
- <span class="macro">write!</span>(f, <span class="string">"no such keychain {:?} exists"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>)
- }
-}
-</code></pre></div></section></main></body></html>
\ No newline at end of file
<a href="#98" id="98">98</a>
<a href="#99" id="99">99</a>
<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
</pre></div><pre class="rust"><code><span class="doccomment">//! This crate is a collection of core structures for [Bitcoin Dev Kit].
//!
//! The goal of this crate is to give wallets the mechanisms needed to:
#![warn(missing_docs)]
</span><span class="kw">pub use </span>bitcoin;
-<span class="kw">mod </span>spk_txout_index;
-<span class="kw">pub use </span>spk_txout_index::<span class="kw-2">*</span>;
+<span class="kw">mod </span>balance;
+<span class="kw">pub use </span>balance::<span class="kw-2">*</span>;
<span class="kw">mod </span>chain_data;
<span class="kw">pub use </span>chain_data::<span class="kw-2">*</span>;
<span class="kw">pub mod </span>indexed_tx_graph;
<span class="kw">pub use </span>indexed_tx_graph::IndexedTxGraph;
-<span class="kw">pub mod </span>keychain;
-<span class="kw">pub use </span>keychain::{Indexed, KeychainIndexed};
+<span class="kw">pub mod </span>indexer;
+<span class="kw">pub use </span>indexer::spk_txout::<span class="kw-2">*</span>;
+<span class="kw">pub use </span>indexer::Indexer;
<span class="kw">pub mod </span>local_chain;
<span class="kw">mod </span>tx_data_traits;
<span class="kw">pub mod </span>tx_graph;
<span class="doccomment">/// How many confirmations are needed f or a coinbase output to be spent.
</span><span class="kw">pub const </span>COINBASE_MATURITY: u32 = <span class="number">100</span>;
+
+<span class="doccomment">/// A tuple of keychain index and `T` representing the indexed value.
+</span><span class="kw">pub type </span>Indexed<T> = (u32, T);
+<span class="doccomment">/// A tuple of keychain `K`, derivation index (`u32`) and a `T` associated with them.
+</span><span class="kw">pub type </span>KeychainIndexed<K, T> = ((K, u32), T);
</code></pre></div></section></main></body></html>
\ No newline at end of file
<a href="#386" id="386">386</a>
<a href="#387" id="387">387</a>
<a href="#388" id="388">388</a>
-<a href="#389" id="389">389</a>
</pre></div><pre class="rust"><code><span class="doccomment">//! Helper types for spk-based blockchain clients.
</span><span class="kw">use crate</span>::{
- collections::BTreeMap, keychain::Indexed, local_chain::CheckPoint,
- ConfirmationTimeHeightAnchor, TxGraph,
+ collections::BTreeMap, local_chain::CheckPoint, ConfirmationTimeHeightAnchor, Indexed, TxGraph,
};
<span class="kw">use </span>alloc::boxed::Box;
<span class="kw">use </span>bitcoin::{OutPoint, Script, ScriptBuf, Txid};
#[must_use]
</span><span class="kw">pub fn </span>populate_with_revealed_spks<K: Clone + Ord + core::fmt::Debug + Send + Sync>(
<span class="self">self</span>,
- index: <span class="kw-2">&</span><span class="kw">crate</span>::keychain::KeychainTxOutIndex<K>,
+ index: <span class="kw-2">&</span><span class="kw">crate</span>::indexer::keychain_txout::KeychainTxOutIndex<K>,
spk_range: <span class="kw">impl </span>core::ops::RangeBounds<K>,
) -> <span class="self">Self </span>{
<span class="kw">use </span>alloc::borrow::ToOwned;
/// [`KeychainTxOutIndex::all_unbounded_spk_iters`] and is used to populate the
/// [`FullScanRequest`].
///
- /// [`KeychainTxOutIndex::all_unbounded_spk_iters`]: crate::keychain::KeychainTxOutIndex::all_unbounded_spk_iters
+ /// [`KeychainTxOutIndex::all_unbounded_spk_iters`]: crate::indexer::keychain_txout::KeychainTxOutIndex::all_unbounded_spk_iters
</span><span class="attr">#[cfg(feature = <span class="string">"miniscript"</span>)]
#[must_use]
</span><span class="kw">pub fn </span>from_keychain_txout_index(
chain_tip: CheckPoint,
- index: <span class="kw-2">&</span><span class="kw">crate</span>::keychain::KeychainTxOutIndex<K>,
+ index: <span class="kw-2">&</span><span class="kw">crate</span>::indexer::keychain_txout::KeychainTxOutIndex<K>,
) -> <span class="self">Self
</span><span class="kw">where
</span>K: core::fmt::Debug,
<a href="#272" id="272">272</a>
</pre></div><pre class="rust"><code><span class="kw">use crate</span>::{
bitcoin::{secp256k1::Secp256k1, ScriptBuf},
- keychain::Indexed,
miniscript::{Descriptor, DescriptorPublicKey},
+ Indexed,
};
<span class="kw">use </span>core::{borrow::Borrow, ops::Bound, ops::RangeBounds};
</span><span class="kw">mod </span>test {
<span class="kw">use crate</span>::{
bitcoin::secp256k1::Secp256k1,
- keychain::KeychainTxOutIndex,
+ indexer::keychain_txout::KeychainTxOutIndex,
miniscript::{Descriptor, DescriptorPublicKey},
spk_iter::{SpkIterator, BIP32_MAX_INDEX},
};
+++ /dev/null
-<!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="Source of the Rust file `crates/chain/src/spk_txout_index.rs`."><title>spk_txout_index.rs - source</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="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
-<a href="#2" id="2">2</a>
-<a href="#3" id="3">3</a>
-<a href="#4" id="4">4</a>
-<a href="#5" id="5">5</a>
-<a href="#6" id="6">6</a>
-<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-<a href="#9" id="9">9</a>
-<a href="#10" id="10">10</a>
-<a href="#11" id="11">11</a>
-<a href="#12" id="12">12</a>
-<a href="#13" id="13">13</a>
-<a href="#14" id="14">14</a>
-<a href="#15" id="15">15</a>
-<a href="#16" id="16">16</a>
-<a href="#17" id="17">17</a>
-<a href="#18" id="18">18</a>
-<a href="#19" id="19">19</a>
-<a href="#20" id="20">20</a>
-<a href="#21" id="21">21</a>
-<a href="#22" id="22">22</a>
-<a href="#23" id="23">23</a>
-<a href="#24" id="24">24</a>
-<a href="#25" id="25">25</a>
-<a href="#26" id="26">26</a>
-<a href="#27" id="27">27</a>
-<a href="#28" id="28">28</a>
-<a href="#29" id="29">29</a>
-<a href="#30" id="30">30</a>
-<a href="#31" id="31">31</a>
-<a href="#32" id="32">32</a>
-<a href="#33" id="33">33</a>
-<a href="#34" id="34">34</a>
-<a href="#35" id="35">35</a>
-<a href="#36" id="36">36</a>
-<a href="#37" id="37">37</a>
-<a href="#38" id="38">38</a>
-<a href="#39" id="39">39</a>
-<a href="#40" id="40">40</a>
-<a href="#41" id="41">41</a>
-<a href="#42" id="42">42</a>
-<a href="#43" id="43">43</a>
-<a href="#44" id="44">44</a>
-<a href="#45" id="45">45</a>
-<a href="#46" id="46">46</a>
-<a href="#47" id="47">47</a>
-<a href="#48" id="48">48</a>
-<a href="#49" id="49">49</a>
-<a href="#50" id="50">50</a>
-<a href="#51" id="51">51</a>
-<a href="#52" id="52">52</a>
-<a href="#53" id="53">53</a>
-<a href="#54" id="54">54</a>
-<a href="#55" id="55">55</a>
-<a href="#56" id="56">56</a>
-<a href="#57" id="57">57</a>
-<a href="#58" id="58">58</a>
-<a href="#59" id="59">59</a>
-<a href="#60" id="60">60</a>
-<a href="#61" id="61">61</a>
-<a href="#62" id="62">62</a>
-<a href="#63" id="63">63</a>
-<a href="#64" id="64">64</a>
-<a href="#65" id="65">65</a>
-<a href="#66" id="66">66</a>
-<a href="#67" id="67">67</a>
-<a href="#68" id="68">68</a>
-<a href="#69" id="69">69</a>
-<a href="#70" id="70">70</a>
-<a href="#71" id="71">71</a>
-<a href="#72" id="72">72</a>
-<a href="#73" id="73">73</a>
-<a href="#74" id="74">74</a>
-<a href="#75" id="75">75</a>
-<a href="#76" id="76">76</a>
-<a href="#77" id="77">77</a>
-<a href="#78" id="78">78</a>
-<a href="#79" id="79">79</a>
-<a href="#80" id="80">80</a>
-<a href="#81" id="81">81</a>
-<a href="#82" id="82">82</a>
-<a href="#83" id="83">83</a>
-<a href="#84" id="84">84</a>
-<a href="#85" id="85">85</a>
-<a href="#86" id="86">86</a>
-<a href="#87" id="87">87</a>
-<a href="#88" id="88">88</a>
-<a href="#89" id="89">89</a>
-<a href="#90" id="90">90</a>
-<a href="#91" id="91">91</a>
-<a href="#92" id="92">92</a>
-<a href="#93" id="93">93</a>
-<a href="#94" id="94">94</a>
-<a href="#95" id="95">95</a>
-<a href="#96" id="96">96</a>
-<a href="#97" id="97">97</a>
-<a href="#98" id="98">98</a>
-<a href="#99" id="99">99</a>
-<a href="#100" id="100">100</a>
-<a href="#101" id="101">101</a>
-<a href="#102" id="102">102</a>
-<a href="#103" id="103">103</a>
-<a href="#104" id="104">104</a>
-<a href="#105" id="105">105</a>
-<a href="#106" id="106">106</a>
-<a href="#107" id="107">107</a>
-<a href="#108" id="108">108</a>
-<a href="#109" id="109">109</a>
-<a href="#110" id="110">110</a>
-<a href="#111" id="111">111</a>
-<a href="#112" id="112">112</a>
-<a href="#113" id="113">113</a>
-<a href="#114" id="114">114</a>
-<a href="#115" id="115">115</a>
-<a href="#116" id="116">116</a>
-<a href="#117" id="117">117</a>
-<a href="#118" id="118">118</a>
-<a href="#119" id="119">119</a>
-<a href="#120" id="120">120</a>
-<a href="#121" id="121">121</a>
-<a href="#122" id="122">122</a>
-<a href="#123" id="123">123</a>
-<a href="#124" id="124">124</a>
-<a href="#125" id="125">125</a>
-<a href="#126" id="126">126</a>
-<a href="#127" id="127">127</a>
-<a href="#128" id="128">128</a>
-<a href="#129" id="129">129</a>
-<a href="#130" id="130">130</a>
-<a href="#131" id="131">131</a>
-<a href="#132" id="132">132</a>
-<a href="#133" id="133">133</a>
-<a href="#134" id="134">134</a>
-<a href="#135" id="135">135</a>
-<a href="#136" id="136">136</a>
-<a href="#137" id="137">137</a>
-<a href="#138" id="138">138</a>
-<a href="#139" id="139">139</a>
-<a href="#140" id="140">140</a>
-<a href="#141" id="141">141</a>
-<a href="#142" id="142">142</a>
-<a href="#143" id="143">143</a>
-<a href="#144" id="144">144</a>
-<a href="#145" id="145">145</a>
-<a href="#146" id="146">146</a>
-<a href="#147" id="147">147</a>
-<a href="#148" id="148">148</a>
-<a href="#149" id="149">149</a>
-<a href="#150" id="150">150</a>
-<a href="#151" id="151">151</a>
-<a href="#152" id="152">152</a>
-<a href="#153" id="153">153</a>
-<a href="#154" id="154">154</a>
-<a href="#155" id="155">155</a>
-<a href="#156" id="156">156</a>
-<a href="#157" id="157">157</a>
-<a href="#158" id="158">158</a>
-<a href="#159" id="159">159</a>
-<a href="#160" id="160">160</a>
-<a href="#161" id="161">161</a>
-<a href="#162" id="162">162</a>
-<a href="#163" id="163">163</a>
-<a href="#164" id="164">164</a>
-<a href="#165" id="165">165</a>
-<a href="#166" id="166">166</a>
-<a href="#167" id="167">167</a>
-<a href="#168" id="168">168</a>
-<a href="#169" id="169">169</a>
-<a href="#170" id="170">170</a>
-<a href="#171" id="171">171</a>
-<a href="#172" id="172">172</a>
-<a href="#173" id="173">173</a>
-<a href="#174" id="174">174</a>
-<a href="#175" id="175">175</a>
-<a href="#176" id="176">176</a>
-<a href="#177" id="177">177</a>
-<a href="#178" id="178">178</a>
-<a href="#179" id="179">179</a>
-<a href="#180" id="180">180</a>
-<a href="#181" id="181">181</a>
-<a href="#182" id="182">182</a>
-<a href="#183" id="183">183</a>
-<a href="#184" id="184">184</a>
-<a href="#185" id="185">185</a>
-<a href="#186" id="186">186</a>
-<a href="#187" id="187">187</a>
-<a href="#188" id="188">188</a>
-<a href="#189" id="189">189</a>
-<a href="#190" id="190">190</a>
-<a href="#191" id="191">191</a>
-<a href="#192" id="192">192</a>
-<a href="#193" id="193">193</a>
-<a href="#194" id="194">194</a>
-<a href="#195" id="195">195</a>
-<a href="#196" id="196">196</a>
-<a href="#197" id="197">197</a>
-<a href="#198" id="198">198</a>
-<a href="#199" id="199">199</a>
-<a href="#200" id="200">200</a>
-<a href="#201" id="201">201</a>
-<a href="#202" id="202">202</a>
-<a href="#203" id="203">203</a>
-<a href="#204" id="204">204</a>
-<a href="#205" id="205">205</a>
-<a href="#206" id="206">206</a>
-<a href="#207" id="207">207</a>
-<a href="#208" id="208">208</a>
-<a href="#209" id="209">209</a>
-<a href="#210" id="210">210</a>
-<a href="#211" id="211">211</a>
-<a href="#212" id="212">212</a>
-<a href="#213" id="213">213</a>
-<a href="#214" id="214">214</a>
-<a href="#215" id="215">215</a>
-<a href="#216" id="216">216</a>
-<a href="#217" id="217">217</a>
-<a href="#218" id="218">218</a>
-<a href="#219" id="219">219</a>
-<a href="#220" id="220">220</a>
-<a href="#221" id="221">221</a>
-<a href="#222" id="222">222</a>
-<a href="#223" id="223">223</a>
-<a href="#224" id="224">224</a>
-<a href="#225" id="225">225</a>
-<a href="#226" id="226">226</a>
-<a href="#227" id="227">227</a>
-<a href="#228" id="228">228</a>
-<a href="#229" id="229">229</a>
-<a href="#230" id="230">230</a>
-<a href="#231" id="231">231</a>
-<a href="#232" id="232">232</a>
-<a href="#233" id="233">233</a>
-<a href="#234" id="234">234</a>
-<a href="#235" id="235">235</a>
-<a href="#236" id="236">236</a>
-<a href="#237" id="237">237</a>
-<a href="#238" id="238">238</a>
-<a href="#239" id="239">239</a>
-<a href="#240" id="240">240</a>
-<a href="#241" id="241">241</a>
-<a href="#242" id="242">242</a>
-<a href="#243" id="243">243</a>
-<a href="#244" id="244">244</a>
-<a href="#245" id="245">245</a>
-<a href="#246" id="246">246</a>
-<a href="#247" id="247">247</a>
-<a href="#248" id="248">248</a>
-<a href="#249" id="249">249</a>
-<a href="#250" id="250">250</a>
-<a href="#251" id="251">251</a>
-<a href="#252" id="252">252</a>
-<a href="#253" id="253">253</a>
-<a href="#254" id="254">254</a>
-<a href="#255" id="255">255</a>
-<a href="#256" id="256">256</a>
-<a href="#257" id="257">257</a>
-<a href="#258" id="258">258</a>
-<a href="#259" id="259">259</a>
-<a href="#260" id="260">260</a>
-<a href="#261" id="261">261</a>
-<a href="#262" id="262">262</a>
-<a href="#263" id="263">263</a>
-<a href="#264" id="264">264</a>
-<a href="#265" id="265">265</a>
-<a href="#266" id="266">266</a>
-<a href="#267" id="267">267</a>
-<a href="#268" id="268">268</a>
-<a href="#269" id="269">269</a>
-<a href="#270" id="270">270</a>
-<a href="#271" id="271">271</a>
-<a href="#272" id="272">272</a>
-<a href="#273" id="273">273</a>
-<a href="#274" id="274">274</a>
-<a href="#275" id="275">275</a>
-<a href="#276" id="276">276</a>
-<a href="#277" id="277">277</a>
-<a href="#278" id="278">278</a>
-<a href="#279" id="279">279</a>
-<a href="#280" id="280">280</a>
-<a href="#281" id="281">281</a>
-<a href="#282" id="282">282</a>
-<a href="#283" id="283">283</a>
-<a href="#284" id="284">284</a>
-<a href="#285" id="285">285</a>
-<a href="#286" id="286">286</a>
-<a href="#287" id="287">287</a>
-<a href="#288" id="288">288</a>
-<a href="#289" id="289">289</a>
-<a href="#290" id="290">290</a>
-<a href="#291" id="291">291</a>
-<a href="#292" id="292">292</a>
-<a href="#293" id="293">293</a>
-<a href="#294" id="294">294</a>
-<a href="#295" id="295">295</a>
-<a href="#296" id="296">296</a>
-<a href="#297" id="297">297</a>
-<a href="#298" id="298">298</a>
-<a href="#299" id="299">299</a>
-<a href="#300" id="300">300</a>
-<a href="#301" id="301">301</a>
-<a href="#302" id="302">302</a>
-<a href="#303" id="303">303</a>
-<a href="#304" id="304">304</a>
-<a href="#305" id="305">305</a>
-<a href="#306" id="306">306</a>
-<a href="#307" id="307">307</a>
-<a href="#308" id="308">308</a>
-<a href="#309" id="309">309</a>
-<a href="#310" id="310">310</a>
-<a href="#311" id="311">311</a>
-<a href="#312" id="312">312</a>
-<a href="#313" id="313">313</a>
-<a href="#314" id="314">314</a>
-<a href="#315" id="315">315</a>
-<a href="#316" id="316">316</a>
-<a href="#317" id="317">317</a>
-<a href="#318" id="318">318</a>
-<a href="#319" id="319">319</a>
-<a href="#320" id="320">320</a>
-<a href="#321" id="321">321</a>
-<a href="#322" id="322">322</a>
-<a href="#323" id="323">323</a>
-<a href="#324" id="324">324</a>
-<a href="#325" id="325">325</a>
-<a href="#326" id="326">326</a>
-<a href="#327" id="327">327</a>
-<a href="#328" id="328">328</a>
-<a href="#329" id="329">329</a>
-<a href="#330" id="330">330</a>
-<a href="#331" id="331">331</a>
-<a href="#332" id="332">332</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span>core::ops::RangeBounds;
-
-<span class="kw">use crate</span>::{
- collections::{hash_map::Entry, BTreeMap, BTreeSet, HashMap},
- indexed_tx_graph::Indexer,
-};
-<span class="kw">use </span>bitcoin::{Amount, OutPoint, Script, ScriptBuf, SignedAmount, Transaction, TxOut, Txid};
-
-<span class="doccomment">/// An index storing [`TxOut`]s that have a script pubkey that matches those in a list.
-///
-/// The basic idea is that you insert script pubkeys you care about into the index with
-/// [`insert_spk`] and then when you call [`Indexer::index_tx`] or [`Indexer::index_txout`], the
-/// index will look at any txouts you pass in and store and index any txouts matching one of its
-/// script pubkeys.
-///
-/// Each script pubkey is associated with an application-defined index script index `I`, which must be
-/// [`Ord`]. Usually, this is used to associate the derivation index of the script pubkey or even a
-/// combination of `(keychain, derivation_index)`.
-///
-/// Note there is no harm in scanning transactions that disappear from the blockchain or were never
-/// in there in the first place. `SpkTxOutIndex` is intentionally *monotone* -- you cannot delete or
-/// modify txouts that have been indexed. To find out which txouts from the index are actually in the
-/// chain or unspent, you must use other sources of information like a [`TxGraph`].
-///
-/// [`TxOut`]: bitcoin::TxOut
-/// [`insert_spk`]: Self::insert_spk
-/// [`Ord`]: core::cmp::Ord
-/// [`TxGraph`]: crate::tx_graph::TxGraph
-</span><span class="attr">#[derive(Clone, Debug)]
-</span><span class="kw">pub struct </span>SpkTxOutIndex<I> {
- <span class="doccomment">/// script pubkeys ordered by index
- </span>spks: BTreeMap<I, ScriptBuf>,
- <span class="doccomment">/// A reverse lookup from spk to spk index
- </span>spk_indices: HashMap<ScriptBuf, I>,
- <span class="doccomment">/// The set of unused indexes.
- </span>unused: BTreeSet<I>,
- <span class="doccomment">/// Lookup index and txout by outpoint.
- </span>txouts: BTreeMap<OutPoint, (I, TxOut)>,
- <span class="doccomment">/// Lookup from spk index to outpoints that had that spk
- </span>spk_txouts: BTreeSet<(I, OutPoint)>,
-}
-
-<span class="kw">impl</span><I> Default <span class="kw">for </span>SpkTxOutIndex<I> {
- <span class="kw">fn </span>default() -> <span class="self">Self </span>{
- <span class="self">Self </span>{
- txouts: Default::default(),
- spks: Default::default(),
- spk_indices: Default::default(),
- spk_txouts: Default::default(),
- unused: Default::default(),
- }
- }
-}
-
-<span class="kw">impl</span><I: Clone + Ord + core::fmt::Debug> Indexer <span class="kw">for </span>SpkTxOutIndex<I> {
- <span class="kw">type </span>ChangeSet = ();
-
- <span class="kw">fn </span>index_txout(<span class="kw-2">&mut </span><span class="self">self</span>, outpoint: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="self">Self</span>::ChangeSet {
- <span class="self">self</span>.scan_txout(outpoint, txout);
- Default::default()
- }
-
- <span class="kw">fn </span>index_tx(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> <span class="self">Self</span>::ChangeSet {
- <span class="self">self</span>.scan(tx);
- Default::default()
- }
-
- <span class="kw">fn </span>initial_changeset(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="self">Self</span>::ChangeSet {}
-
- <span class="kw">fn </span>apply_changeset(<span class="kw-2">&mut </span><span class="self">self</span>, _changeset: <span class="self">Self</span>::ChangeSet) {
- <span class="comment">// This applies nothing.
- </span>}
-
- <span class="kw">fn </span>is_tx_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> bool {
- <span class="self">self</span>.is_relevant(tx)
- }
-}
-
-<span class="kw">impl</span><I: Clone + Ord + core::fmt::Debug> SpkTxOutIndex<I> {
- <span class="doccomment">/// Scans a transaction's outputs for matching script pubkeys.
- ///
- /// Typically, this is used in two situations:
- ///
- /// 1. After loading transaction data from the disk, you may scan over all the txouts to restore all
- /// your txouts.
- /// 2. When getting new data from the chain, you usually scan it before incorporating it into your chain state.
- </span><span class="kw">pub fn </span>scan(<span class="kw-2">&mut </span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> BTreeSet<I> {
- <span class="kw">let </span><span class="kw-2">mut </span>scanned_indices = BTreeSet::new();
- <span class="kw">let </span>txid = tx.compute_txid();
- <span class="kw">for </span>(i, txout) <span class="kw">in </span>tx.output.iter().enumerate() {
- <span class="kw">let </span>op = OutPoint::new(txid, i <span class="kw">as </span>u32);
- <span class="kw">if let </span><span class="prelude-val">Some</span>(spk_i) = <span class="self">self</span>.scan_txout(op, txout) {
- scanned_indices.insert(spk_i.clone());
- }
- }
-
- scanned_indices
- }
-
- <span class="doccomment">/// Scan a single `TxOut` for a matching script pubkey and returns the index that matches the
- /// script pubkey (if any).
- </span><span class="kw">pub fn </span>scan_txout(<span class="kw-2">&mut </span><span class="self">self</span>, op: OutPoint, txout: <span class="kw-2">&</span>TxOut) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>I> {
- <span class="kw">let </span>spk_i = <span class="self">self</span>.spk_indices.get(<span class="kw-2">&</span>txout.script_pubkey);
- <span class="kw">if let </span><span class="prelude-val">Some</span>(spk_i) = spk_i {
- <span class="self">self</span>.txouts.insert(op, (spk_i.clone(), txout.clone()));
- <span class="self">self</span>.spk_txouts.insert((spk_i.clone(), op));
- <span class="self">self</span>.unused.remove(spk_i);
- }
- spk_i
- }
-
- <span class="doccomment">/// Get a reference to the set of indexed outpoints.
- </span><span class="kw">pub fn </span>outpoints(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>BTreeSet<(I, OutPoint)> {
- <span class="kw-2">&</span><span class="self">self</span>.spk_txouts
- }
-
- <span class="doccomment">/// Iterate over all known txouts that spend to tracked script pubkeys.
- </span><span class="kw">pub fn </span>txouts(
- <span class="kw-2">&</span><span class="self">self</span>,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, OutPoint, <span class="kw-2">&</span>TxOut)> + ExactSizeIterator {
- <span class="self">self</span>.txouts
- .iter()
- .map(|(op, (index, txout))| (index, <span class="kw-2">*</span>op, txout))
- }
-
- <span class="doccomment">/// Finds all txouts on a transaction that has previously been scanned and indexed.
- </span><span class="kw">pub fn </span>txouts_in_tx(
- <span class="kw-2">&</span><span class="self">self</span>,
- txid: Txid,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, OutPoint, <span class="kw-2">&</span>TxOut)> {
- <span class="self">self</span>.txouts
- .range(OutPoint::new(txid, u32::MIN)..=OutPoint::new(txid, u32::MAX))
- .map(|(op, (index, txout))| (index, <span class="kw-2">*</span>op, txout))
- }
-
- <span class="doccomment">/// Iterates over all the outputs with script pubkeys in an index range.
- </span><span class="kw">pub fn </span>outputs_in_range(
- <span class="kw-2">&</span><span class="self">self</span>,
- range: <span class="kw">impl </span>RangeBounds<I>,
- ) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, OutPoint)> {
- <span class="kw">use </span>bitcoin::hashes::Hash;
- <span class="kw">use </span>core::ops::Bound::<span class="kw-2">*</span>;
- <span class="kw">let </span>min_op = OutPoint {
- txid: Txid::all_zeros(),
- vout: u32::MIN,
- };
- <span class="kw">let </span>max_op = OutPoint {
- txid: Txid::from_byte_array([<span class="number">0xff</span>; Txid::LEN]),
- vout: u32::MAX,
- };
-
- <span class="kw">let </span>start = <span class="kw">match </span>range.start_bound() {
- Included(index) => Included((index.clone(), min_op)),
- Excluded(index) => Excluded((index.clone(), max_op)),
- Unbounded => Unbounded,
- };
-
- <span class="kw">let </span>end = <span class="kw">match </span>range.end_bound() {
- Included(index) => Included((index.clone(), max_op)),
- Excluded(index) => Excluded((index.clone(), min_op)),
- Unbounded => Unbounded,
- };
-
- <span class="self">self</span>.spk_txouts.range((start, end)).map(|(i, op)| (i, <span class="kw-2">*</span>op))
- }
-
- <span class="doccomment">/// Returns the txout and script pubkey index of the `TxOut` at `OutPoint`.
- ///
- /// Returns `None` if the `TxOut` hasn't been scanned or if nothing matching was found there.
- </span><span class="kw">pub fn </span>txout(<span class="kw-2">&</span><span class="self">self</span>, outpoint: OutPoint) -> <span class="prelude-ty">Option</span><(<span class="kw-2">&</span>I, <span class="kw-2">&</span>TxOut)> {
- <span class="self">self</span>.txouts.get(<span class="kw-2">&</span>outpoint).map(|v| (<span class="kw-2">&</span>v.<span class="number">0</span>, <span class="kw-2">&</span>v.<span class="number">1</span>))
- }
-
- <span class="doccomment">/// Returns the script that has been inserted at the `index`.
- ///
- /// If that index hasn't been inserted yet, it will return `None`.
- </span><span class="kw">pub fn </span>spk_at_index(<span class="kw-2">&</span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>Script> {
- <span class="self">self</span>.spks.get(index).map(|s| s.as_script())
- }
-
- <span class="doccomment">/// The script pubkeys that are being tracked by the index.
- </span><span class="kw">pub fn </span>all_spks(<span class="kw-2">&</span><span class="self">self</span>) -> <span class="kw-2">&</span>BTreeMap<I, ScriptBuf> {
- <span class="kw-2">&</span><span class="self">self</span>.spks
- }
-
- <span class="doccomment">/// Adds a script pubkey to scan for. Returns `false` and does nothing if spk already exists in the map
- ///
- /// the index will look for outputs spending to this spk whenever it scans new data.
- </span><span class="kw">pub fn </span>insert_spk(<span class="kw-2">&mut </span><span class="self">self</span>, index: I, spk: ScriptBuf) -> bool {
- <span class="kw">match </span><span class="self">self</span>.spk_indices.entry(spk.clone()) {
- Entry::Vacant(value) => {
- value.insert(index.clone());
- <span class="self">self</span>.spks.insert(index.clone(), spk);
- <span class="self">self</span>.unused.insert(index);
- <span class="bool-val">true
- </span>}
- Entry::Occupied(<span class="kw">_</span>) => <span class="bool-val">false</span>,
- }
- }
-
- <span class="doccomment">/// Iterates over all unused script pubkeys in an index range.
- ///
- /// Here, "unused" means that after the script pubkey was stored in the index, the index has
- /// never scanned a transaction output with it.
- ///
- /// # Example
- ///
- /// ```rust
- /// # use bdk_chain::SpkTxOutIndex;
- ///
- /// // imagine our spks are indexed like (keychain, derivation_index).
- /// let txout_index = SpkTxOutIndex::<(u32, u32)>::default();
- /// let all_unused_spks = txout_index.unused_spks(..);
- /// let change_index = 1;
- /// let unused_change_spks =
- /// txout_index.unused_spks((change_index, u32::MIN)..(change_index, u32::MAX));
- /// ```
- </span><span class="kw">pub fn </span>unused_spks<R>(<span class="kw-2">&</span><span class="self">self</span>, range: R) -> <span class="kw">impl </span>DoubleEndedIterator<Item = (<span class="kw-2">&</span>I, <span class="kw-2">&</span>Script)> + Clone
- <span class="kw">where
- </span>R: RangeBounds<I>,
- {
- <span class="self">self</span>.unused
- .range(range)
- .map(<span class="kw">move </span>|index| (index, <span class="self">self</span>.spk_at_index(index).expect(<span class="string">"must exist"</span>)))
- }
-
- <span class="doccomment">/// Returns whether the script pubkey at `index` has been used or not.
- ///
- /// Here, "unused" means that after the script pubkey was stored in the index, the index has
- /// never scanned a transaction output with it.
- </span><span class="kw">pub fn </span>is_used(<span class="kw-2">&</span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> bool {
- !<span class="self">self</span>.unused.contains(index)
- }
-
- <span class="doccomment">/// Marks the script pubkey at `index` as used even though it hasn't seen an output spending to it.
- /// This only affects when the `index` had already been added to `self` and was unused.
- ///
- /// Returns whether the `index` was initially present as `unused`.
- ///
- /// This is useful when you want to reserve a script pubkey for something but don't want to add
- /// the transaction output using it to the index yet. Other callers will consider the `index` used
- /// until you call [`unmark_used`].
- ///
- /// [`unmark_used`]: Self::unmark_used
- </span><span class="kw">pub fn </span>mark_used(<span class="kw-2">&mut </span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> bool {
- <span class="self">self</span>.unused.remove(index)
- }
-
- <span class="doccomment">/// Undoes the effect of [`mark_used`]. Returns whether the `index` is inserted back into
- /// `unused`.
- ///
- /// Note that if `self` has scanned an output with this script pubkey then this will have no
- /// effect.
- ///
- /// [`mark_used`]: Self::mark_used
- </span><span class="kw">pub fn </span>unmark_used(<span class="kw-2">&mut </span><span class="self">self</span>, index: <span class="kw-2">&</span>I) -> bool {
- <span class="comment">// we cannot set the index as unused when it does not exist
- </span><span class="kw">if </span>!<span class="self">self</span>.spks.contains_key(index) {
- <span class="kw">return </span><span class="bool-val">false</span>;
- }
- <span class="comment">// we cannot set the index as unused when txouts are indexed under it
- </span><span class="kw">if </span><span class="self">self</span>.outputs_in_range(index..=index).next().is_some() {
- <span class="kw">return </span><span class="bool-val">false</span>;
- }
- <span class="self">self</span>.unused.insert(index.clone())
- }
-
- <span class="doccomment">/// Returns the index associated with the script pubkey.
- </span><span class="kw">pub fn </span>index_of_spk(<span class="kw-2">&</span><span class="self">self</span>, script: <span class="kw-2">&</span>Script) -> <span class="prelude-ty">Option</span><<span class="kw-2">&</span>I> {
- <span class="self">self</span>.spk_indices.get(script)
- }
-
- <span class="doccomment">/// Computes the total value transfer effect `tx` has on the script pubkeys in `range`. Value is
- /// *sent* when a script pubkey in the `range` is on an input and *received* when it is on an
- /// output. For `sent` to be computed correctly, the output being spent must have already been
- /// scanned by the index. Calculating received just uses the [`Transaction`] outputs directly,
- /// so it will be correct even if it has not been scanned.
- </span><span class="kw">pub fn </span>sent_and_received(
- <span class="kw-2">&</span><span class="self">self</span>,
- tx: <span class="kw-2">&</span>Transaction,
- range: <span class="kw">impl </span>RangeBounds<I>,
- ) -> (Amount, Amount) {
- <span class="kw">let </span><span class="kw-2">mut </span>sent = Amount::ZERO;
- <span class="kw">let </span><span class="kw-2">mut </span>received = Amount::ZERO;
-
- <span class="kw">for </span>txin <span class="kw">in </span><span class="kw-2">&</span>tx.input {
- <span class="kw">if let </span><span class="prelude-val">Some</span>((index, txout)) = <span class="self">self</span>.txout(txin.previous_output) {
- <span class="kw">if </span>range.contains(index) {
- sent += txout.value;
- }
- }
- }
- <span class="kw">for </span>txout <span class="kw">in </span><span class="kw-2">&</span>tx.output {
- <span class="kw">if let </span><span class="prelude-val">Some</span>(index) = <span class="self">self</span>.index_of_spk(<span class="kw-2">&</span>txout.script_pubkey) {
- <span class="kw">if </span>range.contains(index) {
- received += txout.value;
- }
- }
- }
-
- (sent, received)
- }
-
- <span class="doccomment">/// Computes the net value transfer effect of `tx` on the script pubkeys in `range`. Shorthand
- /// for calling [`sent_and_received`] and subtracting sent from received.
- ///
- /// [`sent_and_received`]: Self::sent_and_received
- </span><span class="kw">pub fn </span>net_value(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction, range: <span class="kw">impl </span>RangeBounds<I>) -> SignedAmount {
- <span class="kw">let </span>(sent, received) = <span class="self">self</span>.sent_and_received(tx, range);
- received.to_signed().expect(<span class="string">"valid `SignedAmount`"</span>)
- - sent.to_signed().expect(<span class="string">"valid `SignedAmount`"</span>)
- }
-
- <span class="doccomment">/// Whether any of the inputs of this transaction spend a txout tracked or whether any output
- /// matches one of our script pubkeys.
- ///
- /// It is easily possible to misuse this method and get false negatives by calling it before you
- /// have scanned the `TxOut`s the transaction is spending. For example, if you want to filter out
- /// all the transactions in a block that are irrelevant, you **must first scan all the
- /// transactions in the block** and only then use this method.
- </span><span class="kw">pub fn </span>is_relevant(<span class="kw-2">&</span><span class="self">self</span>, tx: <span class="kw-2">&</span>Transaction) -> bool {
- <span class="kw">let </span>input_matches = tx
- .input
- .iter()
- .any(|input| <span class="self">self</span>.txouts.contains_key(<span class="kw-2">&</span>input.previous_output));
- <span class="kw">let </span>output_matches = tx
- .output
- .iter()
- .any(|output| <span class="self">self</span>.spk_indices.contains_key(<span class="kw-2">&</span>output.script_pubkey));
- input_matches || output_matches
- }
-}
-</code></pre></div></section></main></body></html>
\ No newline at end of file
<a href="#1584" id="1584">1584</a>
<a href="#1585" id="1585">1585</a>
<a href="#1586" id="1586">1586</a>
-<a href="#1587" id="1587">1587</a>
</pre></div><pre class="rust"><code><span class="doccomment">//! Module for structures that store and traverse transactions.
//!
//! [`TxGraph`] contains transactions and indexes them so you can easily traverse the graph of
//! [`insert_txout`]: TxGraph::insert_txout
</span><span class="kw">use crate</span>::{
- collections::<span class="kw-2">*</span>, keychain::Balance, Anchor, Append, BlockId, ChainOracle, ChainPosition,
- FullTxOut,
+ collections::<span class="kw-2">*</span>, Anchor, Append, Balance, BlockId, ChainOracle, ChainPosition, FullTxOut,
};
<span class="kw">use </span>alloc::collections::vec_deque::VecDeque;
<span class="kw">use </span>alloc::sync::Arc;
}
<span class="doccomment">/// This performs a full scan to get an update for the [`TxGraph`] and
-/// [`KeychainTxOutIndex`](bdk_chain::keychain::KeychainTxOutIndex).
+/// [`KeychainTxOutIndex`](bdk_chain::indexer::keychain_txout::KeychainTxOutIndex).
</span><span class="kw">async fn </span>full_scan_for_index_and_graph<K: Ord + Clone + Send>(
client: <span class="kw-2">&</span>esplora_client::AsyncClient,
keychain_spks: BTreeMap<
}
<span class="doccomment">/// This performs a full scan to get an update for the [`TxGraph`] and
-/// [`KeychainTxOutIndex`](bdk_chain::keychain::KeychainTxOutIndex).
+/// [`KeychainTxOutIndex`](bdk_chain::indexer::keychain_txout::KeychainTxOutIndex).
</span><span class="kw">fn </span>full_scan_for_index_and_graph_blocking<K: Ord + Clone>(
client: <span class="kw-2">&</span>esplora_client::BlockingClient,
keychain_spks: BTreeMap<K, <span class="kw">impl </span>IntoIterator<Item = Indexed<ScriptBuf>>>,
<a href="#756" id="756">756</a>
<a href="#757" id="757">757</a>
<a href="#758" id="758">758</a>
+<a href="#759" id="759">759</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>bdk_chain::bitcoin::consensus::{deserialize, serialize};
<span class="kw">use </span>bdk_chain::bitcoin::hashes::Hash;
<span class="kw">use </span>bdk_chain::bitcoin::{Amount, Network, OutPoint, ScriptBuf, Transaction, TxOut};
<span class="kw">use </span><span class="kw">crate</span>::Error;
<span class="kw">use </span>bdk_chain::CombinedChangeSet;
<span class="kw">use </span>bdk_chain::{
- indexed_tx_graph, keychain, local_chain, tx_graph, Anchor, Append, DescriptorExt, DescriptorId,
+ indexed_tx_graph, indexer::keychain_txout, local_chain, tx_graph, Anchor, Append,
+ DescriptorExt, DescriptorId,
};
<span class="doccomment">/// Persists data in to a relational schema based [SQLite] database file.
/// If keychain exists only update last active index.
</span><span class="kw">fn </span>insert_keychains(
db_transaction: <span class="kw-2">&</span>rusqlite::Transaction,
- tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>>,
+ tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>>,
) -> <span class="prelude-ty">Result</span><(), Error> {
<span class="kw">let </span>keychain_changeset = <span class="kw-2">&</span>tx_graph_changeset.indexer;
<span class="kw">for </span>(keychain, descriptor) <span class="kw">in </span>keychain_changeset.keychains_added.iter() {
<span class="doccomment">/// Update descriptor last revealed index.
</span><span class="kw">fn </span>update_last_revealed(
db_transaction: <span class="kw-2">&</span>rusqlite::Transaction,
- tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>>,
+ tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>>,
) -> <span class="prelude-ty">Result</span><(), Error> {
<span class="kw">let </span>keychain_changeset = <span class="kw-2">&</span>tx_graph_changeset.indexer;
<span class="kw">for </span>(descriptor_id, last_revealed) <span class="kw">in </span>keychain_changeset.last_revealed.iter() {
/// Error if trying to insert existing txid.
</span><span class="kw">fn </span>insert_txs(
db_transaction: <span class="kw-2">&</span>rusqlite::Transaction,
- tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>>,
+ tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>>,
) -> <span class="prelude-ty">Result</span><(), Error> {
<span class="kw">for </span>tx <span class="kw">in </span>tx_graph_changeset.graph.txs.iter() {
<span class="kw">let </span>insert_tx_stmt = <span class="kw-2">&mut </span>db_transaction
/// Error if trying to insert existing outpoint.
</span><span class="kw">fn </span>insert_txouts(
db_transaction: <span class="kw-2">&</span>rusqlite::Transaction,
- tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>>,
+ tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>>,
) -> <span class="prelude-ty">Result</span><(), Error> {
<span class="kw">for </span>txout <span class="kw">in </span>tx_graph_changeset.graph.txouts.iter() {
<span class="kw">let </span>insert_txout_stmt = <span class="kw-2">&mut </span>db_transaction
<span class="doccomment">/// Update transaction last seen times.
</span><span class="kw">fn </span>update_last_seen(
db_transaction: <span class="kw-2">&</span>rusqlite::Transaction,
- tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>>,
+ tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>>,
) -> <span class="prelude-ty">Result</span><(), Error> {
<span class="kw">for </span>tx_last_seen <span class="kw">in </span>tx_graph_changeset.graph.last_seen.iter() {
<span class="kw">let </span>insert_or_update_tx_stmt = <span class="kw-2">&mut </span>db_transaction
<span class="doccomment">/// Insert anchors.
</span><span class="kw">fn </span>insert_anchors(
db_transaction: <span class="kw-2">&</span>rusqlite::Transaction,
- tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>>,
+ tx_graph_changeset: <span class="kw-2">&</span>indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>>,
) -> <span class="prelude-ty">Result</span><(), Error> {
<span class="comment">// serde_json::to_string
</span><span class="kw">for </span>anchor <span class="kw">in </span>tx_graph_changeset.graph.anchors.iter() {
last_seen,
};
- <span class="kw">let </span>indexer: keychain::ChangeSet<K> = keychain::ChangeSet {
+ <span class="kw">let </span>indexer = keychain_txout::ChangeSet {
keychains_added,
last_revealed,
};
- <span class="kw">let </span>indexed_tx_graph: indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<K>> =
+ <span class="kw">let </span>indexed_tx_graph: indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<K>> =
indexed_tx_graph::ChangeSet { graph, indexer };
<span class="kw">if </span>network.is_none() && chain.is_empty() && indexed_tx_graph.is_empty() {
<span class="kw">use </span>bdk_chain::miniscript::Descriptor;
<span class="kw">use </span>bdk_chain::CombinedChangeSet;
<span class="kw">use </span>bdk_chain::{
- indexed_tx_graph, keychain, tx_graph, BlockId, ConfirmationHeightAnchor,
+ indexed_tx_graph, tx_graph, BlockId, ConfirmationHeightAnchor,
ConfirmationTimeHeightAnchor, DescriptorExt,
};
<span class="kw">use </span>std::str::FromStr;
.into(),
};
- <span class="kw">let </span>keychain_changeset = keychain::ChangeSet {
+ <span class="kw">let </span>keychain_changeset = keychain_txout::ChangeSet {
keychains_added: [(ext_keychain, ext_desc), (int_keychain, int_desc)].into(),
last_revealed: [(ext_desc_id, <span class="number">124</span>), (int_desc_id, <span class="number">421</span>)].into(),
};
- <span class="kw">let </span>graph_changeset: indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<Keychain>> =
+ <span class="kw">let </span>graph_changeset: indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<Keychain>> =
indexed_tx_graph::ChangeSet {
graph: tx_graph_changeset,
indexer: keychain_changeset,
last_seen: [(tx2.compute_txid(), <span class="number">1708919121</span>)].into(),
};
- <span class="kw">let </span>graph_changeset2: indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<Keychain>> =
+ <span class="kw">let </span>graph_changeset2: indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<Keychain>> =
indexed_tx_graph::ChangeSet {
graph: tx_graph_changeset2,
- indexer: keychain::ChangeSet::default(),
+ indexer: keychain_txout::ChangeSet::default(),
};
changesets.push(CombinedChangeSet {
last_seen: BTreeMap::default(),
};
- <span class="kw">let </span>graph_changeset3: indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<Keychain>> =
+ <span class="kw">let </span>graph_changeset3: indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<Keychain>> =
indexed_tx_graph::ChangeSet {
graph: tx_graph_changeset3,
- indexer: keychain::ChangeSet::default(),
+ indexer: keychain_txout::ChangeSet::default(),
};
changesets.push(CombinedChangeSet {
sync::Arc,
vec::Vec,
};
-<span class="kw">pub use </span>bdk_chain::keychain::Balance;
+<span class="kw">pub use </span>bdk_chain::Balance;
<span class="kw">use </span>bdk_chain::{
indexed_tx_graph,
- keychain::KeychainTxOutIndex,
+ indexer::keychain_txout::KeychainTxOutIndex,
local_chain::{
<span class="self">self</span>, ApplyHeaderError, CannotConnectError, CheckPoint, CheckPointIter, LocalChain,
},
<span class="doccomment">/// An update to [`Wallet`].
///
-/// It updates [`bdk_chain::keychain::KeychainTxOutIndex`], [`bdk_chain::TxGraph`] and [`local_chain::LocalChain`] atomically.
+/// It updates [`KeychainTxOutIndex`], [`bdk_chain::TxGraph`] and [`local_chain::LocalChain`] atomically.
</span><span class="attr">#[derive(Debug, Clone, Default)]
</span><span class="kw">pub struct </span>Update {
<span class="doccomment">/// Contains the last active derivation indices per keychain (`K`), which is used to update the
<span class="kw">let _ </span>= index
.insert_descriptor(KeychainKind::Internal, descriptor)
.map_err(|e| {
- <span class="kw">use </span>bdk_chain::keychain::InsertDescriptorError;
+ <span class="kw">use </span>bdk_chain::indexer::keychain_txout::InsertDescriptorError;
<span class="kw">match </span>e {
InsertDescriptorError::DescriptorAlreadyAssigned { .. } => {
<span class="kw">crate</span>::descriptor::error::Error::ExternalAndInternalAreTheSame
<a href="#387" id="387">387</a>
<a href="#388" id="388">388</a>
<a href="#389" id="389">389</a>
+<a href="#390" id="390">390</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>std::{
path::PathBuf,
sync::{
};
<span class="kw">use </span>bdk_chain::{
bitcoin::{constants::genesis_block, Block, Transaction},
- indexed_tx_graph, keychain,
+ indexed_tx_graph,
+ indexer::keychain_txout,
local_chain::{<span class="self">self</span>, LocalChain},
Append, ConfirmationTimeHeightAnchor, IndexedTxGraph,
};
<span class="kw">type </span>ChangeSet = (
local_chain::ChangeSet,
- indexed_tx_graph::ChangeSet<ConfirmationTimeHeightAnchor, keychain::ChangeSet<Keychain>>,
+ indexed_tx_graph::ChangeSet<ConfirmationTimeHeightAnchor, keychain_txout::ChangeSet<Keychain>>,
);
<span class="attr">#[derive(Debug)]
transaction, Address, Amount, Network, Sequence, Transaction, TxIn, TxOut,
},
indexed_tx_graph::{<span class="self">self</span>, IndexedTxGraph},
- keychain::{<span class="self">self</span>, KeychainTxOutIndex},
+ indexer::keychain_txout::{<span class="self">self</span>, KeychainTxOutIndex},
local_chain,
miniscript::{
descriptor::{DescriptorSecretKey, KeyMap},
<span class="kw">pub type </span>KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;
<span class="kw">pub type </span>KeychainChangeSet<A> = (
local_chain::ChangeSet,
- indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<Keychain>>,
+ indexed_tx_graph::ChangeSet<A, keychain_txout::ChangeSet<Keychain>>,
);
<span class="attr">#[derive(Parser)]
}
<span class="kw">pub struct </span>CreateTxChange {
- <span class="kw">pub </span>index_changeset: keychain::ChangeSet<Keychain>,
+ <span class="kw">pub </span>index_changeset: keychain_txout::ChangeSet<Keychain>,
<span class="kw">pub </span>change_keychain: Keychain,
<span class="kw">pub </span>index: u32,
}
<span class="kw">where
</span>O::Error: std::error::Error + Send + Sync + <span class="lifetime">'static</span>,
{
- <span class="kw">let </span><span class="kw-2">mut </span>changeset = keychain::ChangeSet::default();
+ <span class="kw">let </span><span class="kw-2">mut </span>changeset = keychain_txout::ChangeSet::default();
<span class="kw">let </span>assets = bdk_tmp_plan::Assets {
keys: keymap.iter().map(|(pk, <span class="kw">_</span>)| pk.clone()).collect(),
bitcoin::{constants::genesis_block, Address, Network, Txid},
collections::BTreeSet,
indexed_tx_graph::{<span class="self">self</span>, IndexedTxGraph},
- keychain,
+ indexer::keychain_txout,
local_chain::{<span class="self">self</span>, LocalChain},
spk_client::{FullScanRequest, SyncRequest},
Append, ConfirmationHeightAnchor,
<span class="kw">type </span>ChangeSet = (
local_chain::ChangeSet,
- indexed_tx_graph::ChangeSet<ConfirmationHeightAnchor, keychain::ChangeSet<Keychain>>,
+ indexed_tx_graph::ChangeSet<ConfirmationHeightAnchor, keychain_txout::ChangeSet<Keychain>>,
);
<span class="kw">fn </span>main() -> anyhow::Result<()> {
<span class="kw">use </span>bdk_chain::{
bitcoin::{constants::genesis_block, Address, Network, Txid},
indexed_tx_graph::{<span class="self">self</span>, IndexedTxGraph},
- keychain,
+ indexer::keychain_txout,
local_chain::{<span class="self">self</span>, LocalChain},
spk_client::{FullScanRequest, SyncRequest},
Append, ConfirmationTimeHeightAnchor,
<span class="kw">type </span>ChangeSet = (
local_chain::ChangeSet,
- indexed_tx_graph::ChangeSet<ConfirmationTimeHeightAnchor, keychain::ChangeSet<Keychain>>,
+ indexed_tx_graph::ChangeSet<ConfirmationTimeHeightAnchor, keychain_txout::ChangeSet<Keychain>>,
);
<span class="attr">#[derive(Subcommand, Debug, Clone)]
+++ /dev/null
-(function() {var implementors = {
-"bdk_chain":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
--- /dev/null
+(function() {var implementors = {
+"bdk_chain":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D>"],["impl<I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D>"],["impl<I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>"],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>"],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>"]],
"bdk_tmp_plan":[["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=\"bdk_tmp_plan/enum.SigningError.html\" title=\"enum bdk_tmp_plan::SigningError\">SigningError</a>"],["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=\"struct\" href=\"bdk_tmp_plan/struct.SatisfactionMaterial.html\" title=\"struct bdk_tmp_plan::SatisfactionMaterial\">SatisfactionMaterial</a>"],["impl<AK: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_tmp_plan/struct.Plan.html\" title=\"struct bdk_tmp_plan::Plan\">Plan</a><AK>"],["impl<Ak: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"bdk_tmp_plan/enum.RequiredSignatures.html\" title=\"enum bdk_tmp_plan::RequiredSignatures\">RequiredSignatures</a><Ak>"],["impl<Ak: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_tmp_plan/struct.PlanKey.html\" title=\"struct bdk_tmp_plan::PlanKey\">PlanKey</a><Ak>"],["impl<Ak: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_tmp_plan/struct.Requirements.html\" title=\"struct bdk_tmp_plan::Requirements\">Requirements</a><Ak>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_tmp_plan/struct.Assets.html\" title=\"struct bdk_tmp_plan::Assets\">Assets</a><K>"]],
"bdk_wallet":[["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=\"bdk_wallet/descriptor/policy/enum.PkOrF.html\" title=\"enum bdk_wallet::descriptor::policy::PkOrF\">PkOrF</a>"],["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=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["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=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>"],["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=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"],["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=\"bdk_wallet/enum.Utxo.html\" title=\"enum bdk_wallet::Utxo\">Utxo</a>"],["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=\"bdk_wallet/keys/enum.ScriptContextEnum.html\" title=\"enum bdk_wallet::keys::ScriptContextEnum\">ScriptContextEnum</a>"],["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=\"bdk_wallet/wallet/error/enum.MiniscriptPsbtError.html\" title=\"enum bdk_wallet::wallet::error::MiniscriptPsbtError\">MiniscriptPsbtError</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerContext.html\" title=\"enum bdk_wallet::wallet::signer::SignerContext\">SignerContext</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["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=\"bdk_wallet/wallet/signer/enum.TapLeavesOptions.html\" title=\"enum bdk_wallet::wallet::signer::TapLeavesOptions\">TapLeavesOptions</a>"],["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=\"bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html\" title=\"enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy\">ChangeSpendPolicy</a>"],["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=\"bdk_wallet/wallet/tx_builder/enum.TxOrdering.html\" title=\"enum bdk_wallet::wallet::tx_builder::TxOrdering\">TxOrdering</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Condition.html\" title=\"struct bdk_wallet::descriptor::policy::Condition\">Condition</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["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=\"struct\" href=\"bdk_wallet/keys/struct.PrivateKeyGenerateOptions.html\" title=\"struct bdk_wallet::keys::PrivateKeyGenerateOptions\">PrivateKeyGenerateOptions</a>"],["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=\"struct\" href=\"bdk_wallet/struct.LocalOutput.html\" title=\"struct bdk_wallet::LocalOutput\">LocalOutput</a>"],["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=\"struct\" href=\"bdk_wallet/struct.WeightedUtxo.html\" title=\"struct bdk_wallet::WeightedUtxo\">WeightedUtxo</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html\" title=\"struct bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection\">BranchAndBoundCoinSelection</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/coin_selection/struct.LargestFirstCoinSelection.html\" title=\"struct bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection\">LargestFirstCoinSelection</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/coin_selection/struct.OldestFirstCoinSelection.html\" title=\"struct bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection\">OldestFirstCoinSelection</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignOptions.html\" title=\"struct bdk_wallet::wallet::signer::SignOptions\">SignOptions</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignerOrdering.html\" title=\"struct bdk_wallet::wallet::signer::SignerOrdering\">SignerOrdering</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignersContainer.html\" title=\"struct bdk_wallet::wallet::signer::SignersContainer\">SignersContainer</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/struct.Update.html\" title=\"struct bdk_wallet::wallet::Update\">Update</a>"],["impl<'a> <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=\"bdk_wallet/descriptor/policy/enum.BuildSatisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::BuildSatisfaction\">BuildSatisfaction</a><'a>"],["impl<'a, Cs: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_wallet/wallet/tx_builder/struct.TxBuilder.html\" title=\"struct bdk_wallet::wallet::tx_builder::TxBuilder\">TxBuilder</a><'a, Cs>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>, Ctx: <a class=\"trait\" href=\"bdk_wallet/keys/trait.ScriptContext.html\" title=\"trait bdk_wallet::keys::ScriptContext\">ScriptContext</a>> <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=\"struct\" href=\"bdk_wallet/keys/struct.GeneratedKey.html\" title=\"struct bdk_wallet::keys::GeneratedKey\">GeneratedKey</a><K, Ctx>"],["impl<S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>> <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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignerWrapper.html\" title=\"struct bdk_wallet::wallet::signer::SignerWrapper\">SignerWrapper</a><S>"]],
(function() {var implementors = {
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>, A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>, A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<K: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K>"]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>, A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>, A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<K: <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/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K>"]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>"],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>"]],
"bdk_wallet":[["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=\"bdk_wallet/descriptor/policy/enum.PkOrF.html\" title=\"enum bdk_wallet::descriptor::policy::PkOrF\">PkOrF</a>"],["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=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>"],["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=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["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=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>"],["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=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"],["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=\"bdk_wallet/enum.Utxo.html\" title=\"enum bdk_wallet::Utxo\">Utxo</a>"],["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=\"bdk_wallet/keys/enum.ScriptContextEnum.html\" title=\"enum bdk_wallet::keys::ScriptContextEnum\">ScriptContextEnum</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerContext.html\" title=\"enum bdk_wallet::wallet::signer::SignerContext\">SignerContext</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["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=\"bdk_wallet/wallet/signer/enum.TapLeavesOptions.html\" title=\"enum bdk_wallet::wallet::signer::TapLeavesOptions\">TapLeavesOptions</a>"],["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=\"bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html\" title=\"enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy\">ChangeSpendPolicy</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Condition.html\" title=\"struct bdk_wallet::descriptor::policy::Condition\">Condition</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["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=\"struct\" href=\"bdk_wallet/struct.LocalOutput.html\" title=\"struct bdk_wallet::LocalOutput\">LocalOutput</a>"],["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=\"struct\" href=\"bdk_wallet/struct.WeightedUtxo.html\" title=\"struct bdk_wallet::WeightedUtxo\">WeightedUtxo</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignerOrdering.html\" title=\"struct bdk_wallet::wallet::signer::SignerOrdering\">SignerOrdering</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/struct.AddressInfo.html\" title=\"struct bdk_wallet::wallet::AddressInfo\">AddressInfo</a>"]],
"example_cli":[["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=\"example_cli/enum.Keychain.html\" title=\"enum example_cli::Keychain\">Keychain</a>"]]
(function() {var implementors = {
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>"],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>"]],
"bdk_wallet":[["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=\"bdk_wallet/descriptor/policy/enum.PkOrF.html\" title=\"enum bdk_wallet::descriptor::policy::PkOrF\">PkOrF</a>"],["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=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>"],["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=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["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=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>"],["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=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"],["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=\"bdk_wallet/enum.Utxo.html\" title=\"enum bdk_wallet::Utxo\">Utxo</a>"],["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=\"bdk_wallet/keys/enum.ScriptContextEnum.html\" title=\"enum bdk_wallet::keys::ScriptContextEnum\">ScriptContextEnum</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerContext.html\" title=\"enum bdk_wallet::wallet::signer::SignerContext\">SignerContext</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["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=\"bdk_wallet/wallet/signer/enum.TapLeavesOptions.html\" title=\"enum bdk_wallet::wallet::signer::TapLeavesOptions\">TapLeavesOptions</a>"],["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=\"bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html\" title=\"enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy\">ChangeSpendPolicy</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Condition.html\" title=\"struct bdk_wallet::descriptor::policy::Condition\">Condition</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["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=\"struct\" href=\"bdk_wallet/struct.LocalOutput.html\" title=\"struct bdk_wallet::LocalOutput\">LocalOutput</a>"],["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=\"struct\" href=\"bdk_wallet/struct.WeightedUtxo.html\" title=\"struct bdk_wallet::WeightedUtxo\">WeightedUtxo</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignerOrdering.html\" title=\"struct bdk_wallet::wallet::signer::SignerOrdering\">SignerOrdering</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/struct.AddressInfo.html\" title=\"struct bdk_wallet::wallet::AddressInfo\">AddressInfo</a>"]],
"example_cli":[["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=\"example_cli/enum.Keychain.html\" title=\"enum example_cli::Keychain\">Keychain</a>"]],
(function() {var implementors = {
"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><[<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>]> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A, I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I>"]],
-"bdk_wallet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><<a class=\"struct\" href=\"bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>>> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Wallet.html\" title=\"struct bdk_wallet::wallet::Wallet\">Wallet</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]> for <a class=\"enum\" href=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"]]
+"bdk_wallet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><TxGraph<ConfirmationTimeHeightAnchor>> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Wallet.html\" title=\"struct bdk_wallet::wallet::Wallet\">Wallet</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]> for <a class=\"enum\" href=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {
-"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><(&<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, &BlockHash)> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, BlockHash)> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><<a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>>> for <a class=\"enum\" href=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>> for (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, BlockHash)"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>> for Hash"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Hash> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<A, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<A, K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>>> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<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><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><BlockHash>>> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
+"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><(&<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, &BlockHash)> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, BlockHash)> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><<a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>>> for <a class=\"enum\" href=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>> for (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, BlockHash)"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>> for Hash"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Hash> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<A, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<A, K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>>> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<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><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><BlockHash>>> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
"bdk_coin_select":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> for <a class=\"enum\" href=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/time/struct.Duration.html\" title=\"struct core::time::Duration\">Duration</a>> for <a class=\"enum\" href=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>"]],
"bdk_file_store":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html\" title=\"struct std::io::error::Error\">Error</a>> for <a class=\"enum\" href=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html\" title=\"struct std::io::error::Error\">Error</a>> for <a class=\"enum\" href=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>"]],
"bdk_tmp_plan":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_tmp_plan/enum.SigningError.html\" title=\"enum bdk_tmp_plan::SigningError\">SigningError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><P2wpkhError> for <a class=\"enum\" href=\"bdk_tmp_plan/enum.SigningError.html\" title=\"enum bdk_tmp_plan::SigningError\">SigningError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><TaprootError> for <a class=\"enum\" href=\"bdk_tmp_plan/enum.SigningError.html\" title=\"enum bdk_tmp_plan::SigningError\">SigningError</a>"]],
-"bdk_wallet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>> for <a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.KeyError.html\" title=\"enum bdk_wallet::keys::KeyError\">KeyError</a>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/wallet/coin_selection/enum.Error.html\" title=\"enum bdk_wallet::wallet::coin_selection::Error\">Error</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.MiniscriptPsbtError.html\" title=\"enum bdk_wallet::wallet::error::MiniscriptPsbtError\">MiniscriptPsbtError</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><<a class=\"enum\" href=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>>> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Update.html\" title=\"struct bdk_wallet::wallet::Update\">Update</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a>> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Update.html\" title=\"struct bdk_wallet::wallet::Update\">Update</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.KeyError.html\" title=\"enum bdk_wallet::keys::KeyError\">KeyError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.KeyError.html\" title=\"enum bdk_wallet::keys::KeyError\">KeyError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Fingerprint> for <a class=\"enum\" href=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Hash> for <a class=\"enum\" href=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><HexToBytesError> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><ParsePublicKeyError> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl<Ctx: <a class=\"trait\" href=\"bdk_wallet/keys/trait.ScriptContext.html\" title=\"trait bdk_wallet::keys::ScriptContext\">ScriptContext</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Xpriv> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.ExtendedKey.html\" title=\"enum bdk_wallet::keys::ExtendedKey\">ExtendedKey</a><Ctx>"],["impl<Ctx: <a class=\"trait\" href=\"bdk_wallet/keys/trait.ScriptContext.html\" title=\"trait bdk_wallet::keys::ScriptContext\">ScriptContext</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Xpub> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.ExtendedKey.html\" title=\"enum bdk_wallet::keys::ExtendedKey\">ExtendedKey</a><Ctx>"]],
+"bdk_wallet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>> for <a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.KeyError.html\" title=\"enum bdk_wallet::keys::KeyError\">KeyError</a>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/wallet/coin_selection/enum.Error.html\" title=\"enum bdk_wallet::wallet::coin_selection::Error\">Error</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.MiniscriptPsbtError.html\" title=\"enum bdk_wallet::wallet::error::MiniscriptPsbtError\">MiniscriptPsbtError</a>> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.KeyError.html\" title=\"enum bdk_wallet::keys::KeyError\">KeyError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.KeyError.html\" title=\"enum bdk_wallet::keys::KeyError\">KeyError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"enum\" href=\"bdk_wallet/wallet/error/enum.CreateTxError.html\" title=\"enum bdk_wallet::wallet::error::CreateTxError\">CreateTxError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Fingerprint> for <a class=\"enum\" href=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><FullScanResult<<a class=\"enum\" href=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>>> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Update.html\" title=\"struct bdk_wallet::wallet::Update\">Update</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Hash> for <a class=\"enum\" href=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><HexToBytesError> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><ParsePublicKeyError> for <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><SyncResult> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Update.html\" title=\"struct bdk_wallet::wallet::Update\">Update</a>"],["impl<Ctx: <a class=\"trait\" href=\"bdk_wallet/keys/trait.ScriptContext.html\" title=\"trait bdk_wallet::keys::ScriptContext\">ScriptContext</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Xpriv> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.ExtendedKey.html\" title=\"enum bdk_wallet::keys::ExtendedKey\">ExtendedKey</a><Ctx>"],["impl<Ctx: <a class=\"trait\" href=\"bdk_wallet/keys/trait.ScriptContext.html\" title=\"trait bdk_wallet::keys::ScriptContext\">ScriptContext</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Xpub> for <a class=\"enum\" href=\"bdk_wallet/keys/enum.ExtendedKey.html\" title=\"enum bdk_wallet::keys::ExtendedKey\">ExtendedKey</a><Ctx>"]],
"example_bitcoind_rpc_polling":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"example_bitcoind_rpc_polling/struct.RpcArgs.html\" title=\"struct example_bitcoind_rpc_polling::RpcArgs\">RpcArgs</a>> for Auth"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {
-"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["impl<A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A, I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I>"],["impl<A, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I>"],["impl<K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>"],["impl<K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
+"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["impl<A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A, I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I>"],["impl<A, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I>"],["impl<K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>"],["impl<K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>"],["impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
"bdk_tmp_plan":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_tmp_plan/struct.SatisfactionMaterial.html\" title=\"struct bdk_tmp_plan::SatisfactionMaterial\">SatisfactionMaterial</a>"],["impl<Ak> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"bdk_tmp_plan/enum.RequiredSignatures.html\" title=\"enum bdk_tmp_plan::RequiredSignatures\">RequiredSignatures</a><Ak>"],["impl<Ak> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_tmp_plan/struct.Requirements.html\" title=\"struct bdk_tmp_plan::Requirements\">Requirements</a><Ak>"],["impl<K> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_tmp_plan/struct.Assets.html\" title=\"struct bdk_tmp_plan::Assets\">Assets</a><K>"]],
"bdk_wallet":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"bdk_wallet/wallet/signer/enum.TapLeavesOptions.html\" title=\"enum bdk_wallet::wallet::signer::TapLeavesOptions\">TapLeavesOptions</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html\" title=\"enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy\">ChangeSpendPolicy</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"bdk_wallet/wallet/tx_builder/enum.TxOrdering.html\" title=\"enum bdk_wallet::wallet::tx_builder::TxOrdering\">TxOrdering</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Condition.html\" title=\"struct bdk_wallet::descriptor::policy::Condition\">Condition</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/keys/struct.PrivateKeyGenerateOptions.html\" title=\"struct bdk_wallet::keys::PrivateKeyGenerateOptions\">PrivateKeyGenerateOptions</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html\" title=\"struct bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection\">BranchAndBoundCoinSelection</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/coin_selection/struct.LargestFirstCoinSelection.html\" title=\"struct bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection\">LargestFirstCoinSelection</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/coin_selection/struct.OldestFirstCoinSelection.html\" title=\"struct bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection\">OldestFirstCoinSelection</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignOptions.html\" title=\"struct bdk_wallet::wallet::signer::SignOptions\">SignOptions</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignerOrdering.html\" title=\"struct bdk_wallet::wallet::signer::SignerOrdering\">SignerOrdering</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignersContainer.html\" title=\"struct bdk_wallet::wallet::signer::SignersContainer\">SignersContainer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/struct.Update.html\" title=\"struct bdk_wallet::wallet::Update\">Update</a>"]],
"example_cli":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"example_cli/enum.CoinSelectionAlgo.html\" title=\"enum example_cli::CoinSelectionAlgo\">CoinSelectionAlgo</a>"]]
(function() {var implementors = {
-"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>"]],
+"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>"]],
"bdk_coin_select":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>"]],
"bdk_file_store":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>"],["impl<C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C>"]],
"bdk_sqlite":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"bdk_sqlite/enum.Error.html\" title=\"enum bdk_sqlite::Error\">Error</a>"]],
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<B: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B>"]],
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I>"],["impl<A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>, A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>"],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>"],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>"]],
"bdk_electrum":[["impl<E: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E>"]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>"],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>"],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,</div>"],["impl<C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C>"]],
(function() {var implementors = {
-"bdk_chain":[["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K>"]],
+"bdk_chain":[["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K>"]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>"],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>"],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>"]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>"],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>"],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C>"]],
"bdk_sqlite":[["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=\"bdk_sqlite/enum.Error.html\" title=\"enum bdk_sqlite::Error\">Error</a>"]],
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<'c, C> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.Emitter.html\" title=\"struct bdk_bitcoind_rpc::Emitter\">Emitter</a><'c, C>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B><div class=\"where\">where\n B: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_bitcoind_rpc::BlockEvent"]]],
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>",1,["bdk_chain::keychain::Balance"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<K> !<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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>",1,["bdk_chain::keychain::txout_index::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>",1,["bdk_chain::keychain::txout_index::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::keychain::txout_index::NoSuchKeychain"]],["impl<K> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>",1,["bdk_chain::balance::Balance"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !<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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_chain::indexer::keychain_txout::NoSuchKeychain"]],["impl<K> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>",1,["bdk_coin_select::bnb::BnbLimit"]],["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=\"bdk_coin_select/enum.BranchStrategy.html\" title=\"enum bdk_coin_select::BranchStrategy\">BranchStrategy</a>",1,["bdk_coin_select::bnb::BranchStrategy"]],["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>",1,["bdk_coin_select::coin_selector::Selection"]],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>",1,["bdk_coin_select::coin_selector::SelectionError"]],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl<'c, 'f, S> <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=\"struct\" href=\"bdk_coin_select/struct.BnbIter.html\" title=\"struct bdk_coin_select::BnbIter\">BnbIter</a><'c, 'f, S><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_coin_select::bnb::BnbIter"]],["impl<'c, S> <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=\"struct\" href=\"bdk_coin_select/struct.Bnb.html\" title=\"struct bdk_coin_select::Bnb\">Bnb</a><'c, S><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_coin_select::bnb::Bnb"]]],
"bdk_electrum":[["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=\"struct\" href=\"bdk_electrum/struct.ElectrumSyncResult.html\" title=\"struct bdk_electrum::ElectrumSyncResult\">ElectrumSyncResult</a>",1,["bdk_electrum::bdk_electrum_client::ElectrumSyncResult"]],["impl<E> !<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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]],["impl<K> <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=\"struct\" href=\"bdk_electrum/struct.ElectrumFullScanResult.html\" title=\"struct bdk_electrum::ElectrumFullScanResult\">ElectrumFullScanResult</a><K>",1,["bdk_electrum::bdk_electrum_client::ElectrumFullScanResult"]]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>",1,["bdk_file_store::FileError"]],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> <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=\"struct\" href=\"bdk_file_store/struct.EntryIter.html\" title=\"struct bdk_file_store::EntryIter\">EntryIter</a><'t, T>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C>",1,["bdk_file_store::store::Store"]]],
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<'c, C> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.Emitter.html\" title=\"struct bdk_bitcoind_rpc::Emitter\">Emitter</a><'c, C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B><div class=\"where\">where\n B: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_bitcoind_rpc::BlockEvent"]]],
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>",1,["bdk_chain::keychain::Balance"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<K> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::keychain::txout_index::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::keychain::txout_index::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::keychain::txout_index::NoSuchKeychain"]],["impl<K> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>",1,["bdk_chain::balance::Balance"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::indexer::keychain_txout::NoSuchKeychain"]],["impl<K> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>",1,["bdk_coin_select::bnb::BnbLimit"]],["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=\"bdk_coin_select/enum.BranchStrategy.html\" title=\"enum bdk_coin_select::BranchStrategy\">BranchStrategy</a>",1,["bdk_coin_select::bnb::BranchStrategy"]],["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>",1,["bdk_coin_select::coin_selector::Selection"]],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>",1,["bdk_coin_select::coin_selector::SelectionError"]],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl<'c, 'f, S> !<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=\"struct\" href=\"bdk_coin_select/struct.BnbIter.html\" title=\"struct bdk_coin_select::BnbIter\">BnbIter</a><'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl<'c, S> <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=\"struct\" href=\"bdk_coin_select/struct.Bnb.html\" title=\"struct bdk_coin_select::Bnb\">Bnb</a><'c, S><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_coin_select::bnb::Bnb"]]],
"bdk_electrum":[["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=\"struct\" href=\"bdk_electrum/struct.ElectrumSyncResult.html\" title=\"struct bdk_electrum::ElectrumSyncResult\">ElectrumSyncResult</a>",1,["bdk_electrum::bdk_electrum_client::ElectrumSyncResult"]],["impl<E> <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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E><div class=\"where\">where\n E: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]],["impl<K> <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=\"struct\" href=\"bdk_electrum/struct.ElectrumFullScanResult.html\" title=\"struct bdk_electrum::ElectrumFullScanResult\">ElectrumFullScanResult</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_electrum::bdk_electrum_client::ElectrumFullScanResult"]]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>",1,["bdk_file_store::FileError"]],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> <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=\"struct\" href=\"bdk_file_store/struct.EntryIter.html\" title=\"struct bdk_file_store::EntryIter\">EntryIter</a><'t, T><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C>",1,["bdk_file_store::store::Store"]]],
(function() {var implementors = {
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<K> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>"],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>"],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>"],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>"],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A>"],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A>"],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A>"],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A>"],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>"],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>"],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA>"],["impl<K> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K>"],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>"],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K>"],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>"]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>"],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>"]],
"bdk_wallet":[["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=\"bdk_wallet/descriptor/policy/enum.PkOrF.html\" title=\"enum bdk_wallet::descriptor::policy::PkOrF\">PkOrF</a>"],["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=\"bdk_wallet/descriptor/policy/enum.PolicyError.html\" title=\"enum bdk_wallet::descriptor::policy::PolicyError\">PolicyError</a>"],["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=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["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=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>"],["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=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"],["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=\"bdk_wallet/enum.Utxo.html\" title=\"enum bdk_wallet::Utxo\">Utxo</a>"],["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=\"bdk_wallet/keys/enum.ScriptContextEnum.html\" title=\"enum bdk_wallet::keys::ScriptContextEnum\">ScriptContextEnum</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerContext.html\" title=\"enum bdk_wallet::wallet::signer::SignerContext\">SignerContext</a>"],["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=\"bdk_wallet/wallet/signer/enum.SignerId.html\" title=\"enum bdk_wallet::wallet::signer::SignerId\">SignerId</a>"],["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=\"bdk_wallet/wallet/signer/enum.TapLeavesOptions.html\" title=\"enum bdk_wallet::wallet::signer::TapLeavesOptions\">TapLeavesOptions</a>"],["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=\"bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html\" title=\"enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy\">ChangeSpendPolicy</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Condition.html\" title=\"struct bdk_wallet::descriptor::policy::Condition\">Condition</a>"],["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=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["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=\"struct\" href=\"bdk_wallet/struct.LocalOutput.html\" title=\"struct bdk_wallet::LocalOutput\">LocalOutput</a>"],["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=\"struct\" href=\"bdk_wallet/struct.WeightedUtxo.html\" title=\"struct bdk_wallet::WeightedUtxo\">WeightedUtxo</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignerOrdering.html\" title=\"struct bdk_wallet::wallet::signer::SignerOrdering\">SignerOrdering</a>"],["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=\"struct\" href=\"bdk_wallet/wallet/struct.AddressInfo.html\" title=\"struct bdk_wallet::wallet::AddressInfo\">AddressInfo</a>"]],
"example_cli":[["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=\"example_cli/enum.Keychain.html\" title=\"enum example_cli::Keychain\">Keychain</a>"]],
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<'c, C> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.Emitter.html\" title=\"struct bdk_bitcoind_rpc::Emitter\">Emitter</a><'c, C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B><div class=\"where\">where\n B: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_bitcoind_rpc::BlockEvent"]]],
-"bdk_chain":[["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>",1,["bdk_chain::keychain::Balance"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<K> !<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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::keychain::txout_index::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::keychain::txout_index::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::keychain::txout_index::NoSuchKeychain"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
+"bdk_chain":[["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>",1,["bdk_chain::balance::Balance"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !<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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::indexer::keychain_txout::NoSuchKeychain"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>",1,["bdk_coin_select::bnb::BnbLimit"]],["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=\"bdk_coin_select/enum.BranchStrategy.html\" title=\"enum bdk_coin_select::BranchStrategy\">BranchStrategy</a>",1,["bdk_coin_select::bnb::BranchStrategy"]],["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>",1,["bdk_coin_select::coin_selector::Selection"]],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>",1,["bdk_coin_select::coin_selector::SelectionError"]],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl<'c, 'f, S> !<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=\"struct\" href=\"bdk_coin_select/struct.BnbIter.html\" title=\"struct bdk_coin_select::BnbIter\">BnbIter</a><'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl<'c, S> <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=\"struct\" href=\"bdk_coin_select/struct.Bnb.html\" title=\"struct bdk_coin_select::Bnb\">Bnb</a><'c, S><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_coin_select::bnb::Bnb"]]],
"bdk_electrum":[["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=\"struct\" href=\"bdk_electrum/struct.ElectrumSyncResult.html\" title=\"struct bdk_electrum::ElectrumSyncResult\">ElectrumSyncResult</a>",1,["bdk_electrum::bdk_electrum_client::ElectrumSyncResult"]],["impl<E> <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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E><div class=\"where\">where\n E: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]],["impl<K> <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=\"struct\" href=\"bdk_electrum/struct.ElectrumFullScanResult.html\" title=\"struct bdk_electrum::ElectrumFullScanResult\">ElectrumFullScanResult</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_electrum::bdk_electrum_client::ElectrumFullScanResult"]]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>",1,["bdk_file_store::FileError"]],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> <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=\"struct\" href=\"bdk_file_store/struct.EntryIter.html\" title=\"struct bdk_file_store::EntryIter\">EntryIter</a><'t, T><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C>",1,["bdk_file_store::store::Store"]]],
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<'c, C> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.Emitter.html\" title=\"struct bdk_bitcoind_rpc::Emitter\">Emitter</a><'c, C>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B><div class=\"where\">where\n B: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_bitcoind_rpc::BlockEvent"]]],
-"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>",1,["bdk_chain::keychain::Balance"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<K> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::keychain::txout_index::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K>",1,["bdk_chain::keychain::txout_index::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::keychain::txout_index::NoSuchKeychain"]],["impl<K> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
+"bdk_chain":[["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>",1,["bdk_chain::balance::Balance"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K>",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_chain::indexer::keychain_txout::NoSuchKeychain"]],["impl<K> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>",1,["bdk_coin_select::bnb::BnbLimit"]],["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=\"bdk_coin_select/enum.BranchStrategy.html\" title=\"enum bdk_coin_select::BranchStrategy\">BranchStrategy</a>",1,["bdk_coin_select::bnb::BranchStrategy"]],["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>",1,["bdk_coin_select::coin_selector::Selection"]],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>",1,["bdk_coin_select::coin_selector::SelectionError"]],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl<'c, 'f, S> <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=\"struct\" href=\"bdk_coin_select/struct.BnbIter.html\" title=\"struct bdk_coin_select::BnbIter\">BnbIter</a><'c, 'f, S><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_coin_select::bnb::BnbIter"]],["impl<'c, S> <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=\"struct\" href=\"bdk_coin_select/struct.Bnb.html\" title=\"struct bdk_coin_select::Bnb\">Bnb</a><'c, S><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_coin_select::bnb::Bnb"]]],
"bdk_electrum":[["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=\"struct\" href=\"bdk_electrum/struct.ElectrumSyncResult.html\" title=\"struct bdk_electrum::ElectrumSyncResult\">ElectrumSyncResult</a>",1,["bdk_electrum::bdk_electrum_client::ElectrumSyncResult"]],["impl<E> <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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E><div class=\"where\">where\n E: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]],["impl<K> <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=\"struct\" href=\"bdk_electrum/struct.ElectrumFullScanResult.html\" title=\"struct bdk_electrum::ElectrumFullScanResult\">ElectrumFullScanResult</a><K>",1,["bdk_electrum::bdk_electrum_client::ElectrumFullScanResult"]]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>",1,["bdk_file_store::FileError"]],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> <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=\"struct\" href=\"bdk_file_store/struct.EntryIter.html\" title=\"struct bdk_file_store::EntryIter\">EntryIter</a><'t, T><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C><div class=\"where\">where\n C: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["bdk_file_store::store::Store"]]],
(function() {var implementors = {
-"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html\" title=\"trait core::ops::arith::Add\">Add</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"]]
+"bdk_chain":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/arith/trait.Add.html\" title=\"trait core::ops::arith::Add\">Add</a> for <a class=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<'c, C> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.Emitter.html\" title=\"struct bdk_bitcoind_rpc::Emitter\">Emitter</a><'c, C><div class=\"where\">where\n C: <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>,</div>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B><div class=\"where\">where\n B: <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>,</div>",1,["bdk_bitcoind_rpc::BlockEvent"]]],
-"bdk_chain":[["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>",1,["bdk_chain::keychain::Balance"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <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>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <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>,</div>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<K> !<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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::NoSuchKeychain"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
+"bdk_chain":[["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>",1,["bdk_chain::balance::Balance"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <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>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <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>,</div>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !<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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::NoSuchKeychain"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>",1,["bdk_coin_select::bnb::BnbLimit"]],["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=\"bdk_coin_select/enum.BranchStrategy.html\" title=\"enum bdk_coin_select::BranchStrategy\">BranchStrategy</a>",1,["bdk_coin_select::bnb::BranchStrategy"]],["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>",1,["bdk_coin_select::coin_selector::Selection"]],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>",1,["bdk_coin_select::coin_selector::SelectionError"]],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl<'c, 'f, S> !<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=\"struct\" href=\"bdk_coin_select/struct.BnbIter.html\" title=\"struct bdk_coin_select::BnbIter\">BnbIter</a><'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl<'c, S> <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=\"struct\" href=\"bdk_coin_select/struct.Bnb.html\" title=\"struct bdk_coin_select::Bnb\">Bnb</a><'c, S><div class=\"where\">where\n S: <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>,</div>",1,["bdk_coin_select::bnb::Bnb"]]],
"bdk_electrum":[["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=\"struct\" href=\"bdk_electrum/struct.ElectrumSyncResult.html\" title=\"struct bdk_electrum::ElectrumSyncResult\">ElectrumSyncResult</a>",1,["bdk_electrum::bdk_electrum_client::ElectrumSyncResult"]],["impl<E> <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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E><div class=\"where\">where\n E: <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>,</div>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]],["impl<K> <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=\"struct\" href=\"bdk_electrum/struct.ElectrumFullScanResult.html\" title=\"struct bdk_electrum::ElectrumFullScanResult\">ElectrumFullScanResult</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_electrum::bdk_electrum_client::ElectrumFullScanResult"]]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>",1,["bdk_file_store::FileError"]],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> <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=\"struct\" href=\"bdk_file_store/struct.EntryIter.html\" title=\"struct bdk_file_store::EntryIter\">EntryIter</a><'t, T><div class=\"where\">where\n T: <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>,</div>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> !<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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C><div class=\"where\">where\n C: <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>,</div>",1,["bdk_file_store::store::Store"]]],
(function() {var implementors = {
"bdk_bitcoind_rpc":[["impl<'c, C> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.Emitter.html\" title=\"struct bdk_bitcoind_rpc::Emitter\">Emitter</a><'c, C><div class=\"where\">where\n C: <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>,</div>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> <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=\"struct\" href=\"bdk_bitcoind_rpc/struct.BlockEvent.html\" title=\"struct bdk_bitcoind_rpc::BlockEvent\">BlockEvent</a><B><div class=\"where\">where\n B: <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>,</div>",1,["bdk_bitcoind_rpc::BlockEvent"]]],
-"bdk_chain":[["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>",1,["bdk_chain::keychain::Balance"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <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>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <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> + <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>,</div>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<K> !<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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> <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=\"bdk_chain/keychain/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::keychain::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::keychain::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <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> + <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>,</div>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/keychain/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::keychain::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::keychain::txout_index::NoSuchKeychain"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
+"bdk_chain":[["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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncRequest.html\" title=\"struct bdk_chain::spk_client::SyncRequest\">SyncRequest</a>",1,["bdk_chain::spk_client::SyncRequest"]],["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=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>",1,["bdk_chain::chain_data::ConfirmationTime"]],["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=\"bdk_chain/local_chain/enum.ApplyHeaderError.html\" title=\"enum bdk_chain::local_chain::ApplyHeaderError\">ApplyHeaderError</a>",1,["bdk_chain::local_chain::ApplyHeaderError"]],["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=\"bdk_chain/tx_graph/enum.CalculateFeeError.html\" title=\"enum bdk_chain::tx_graph::CalculateFeeError\">CalculateFeeError</a>",1,["bdk_chain::tx_graph::CalculateFeeError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.AlterCheckPointError.html\" title=\"struct bdk_chain::local_chain::AlterCheckPointError\">AlterCheckPointError</a>",1,["bdk_chain::local_chain::AlterCheckPointError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CannotConnectError.html\" title=\"struct bdk_chain::local_chain::CannotConnectError\">CannotConnectError</a>",1,["bdk_chain::local_chain::CannotConnectError"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPoint.html\" title=\"struct bdk_chain::local_chain::CheckPoint\">CheckPoint</a>",1,["bdk_chain::local_chain::CheckPoint"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.CheckPointIter.html\" title=\"struct bdk_chain::local_chain::CheckPointIter\">CheckPointIter</a>",1,["bdk_chain::local_chain::CheckPointIter"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.LocalChain.html\" title=\"struct bdk_chain::local_chain::LocalChain\">LocalChain</a>",1,["bdk_chain::local_chain::LocalChain"]],["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=\"struct\" href=\"bdk_chain/local_chain/struct.MissingGenesisError.html\" title=\"struct bdk_chain::local_chain::MissingGenesisError\">MissingGenesisError</a>",1,["bdk_chain::local_chain::MissingGenesisError"]],["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=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>",1,["bdk_chain::balance::Balance"]],["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=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>",1,["bdk_chain::chain_data::BlockId"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>",1,["bdk_chain::chain_data::ConfirmationTimeHeightAnchor"]],["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=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.CanonicalTx.html\" title=\"struct bdk_chain::tx_graph::CanonicalTx\">CanonicalTx</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxNode.html\" title=\"struct bdk_chain::tx_graph::TxNode\">TxNode</a><'a, T, A><div class=\"where\">where\n T: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxAncestors.html\" title=\"struct bdk_chain::tx_graph::TxAncestors\">TxAncestors</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxDescendants.html\" title=\"struct bdk_chain::tx_graph::TxDescendants\">TxDescendants</a><'g, A, F><div class=\"where\">where\n F: <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>,\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<A> <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=\"bdk_chain/enum.ChainPosition.html\" title=\"enum bdk_chain::ChainPosition\">ChainPosition</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.SyncResult.html\" title=\"struct bdk_chain::spk_client::SyncResult\">SyncResult</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> <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=\"struct\" href=\"bdk_chain/struct.FullTxOut.html\" title=\"struct bdk_chain::FullTxOut\">FullTxOut</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> <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=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A><div class=\"where\">where\n A: <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>,</div>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n IA: <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>,\n A: <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>,</div>",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> <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=\"struct\" href=\"bdk_chain/struct.SpkIterator.html\" title=\"struct bdk_chain::SpkIterator\">SpkIterator</a><D><div class=\"where\">where\n D: <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>,</div>",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> <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=\"struct\" href=\"bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html\" title=\"struct bdk_chain::indexer::spk_txout::SpkTxOutIndex\">SpkTxOutIndex</a><I><div class=\"where\">where\n I: <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> + <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>,</div>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !<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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanRequest.html\" title=\"struct bdk_chain::spk_client::FullScanRequest\">FullScanRequest</a><K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> <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=\"bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html\" title=\"enum bdk_chain::indexer::keychain_txout::InsertDescriptorError\">InsertDescriptorError</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html\" title=\"struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex\">KeychainTxOutIndex</a><K><div class=\"where\">where\n K: <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> + <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>,</div>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> <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=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.NoSuchKeychain.html\" title=\"struct bdk_chain::indexer::keychain_txout::NoSuchKeychain\">NoSuchKeychain</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_chain::indexer::keychain_txout::NoSuchKeychain"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/spk_client/struct.FullScanResult.html\" title=\"struct bdk_chain::spk_client::FullScanResult\">FullScanResult</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<K, A> <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=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <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>,\n A: <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>,</div>",1,["bdk_chain::changeset::CombinedChangeSet"]]],
"bdk_coin_select":[["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=\"bdk_coin_select/enum.BnbLimit.html\" title=\"enum bdk_coin_select::BnbLimit\">BnbLimit</a>",1,["bdk_coin_select::bnb::BnbLimit"]],["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=\"bdk_coin_select/enum.BranchStrategy.html\" title=\"enum bdk_coin_select::BranchStrategy\">BranchStrategy</a>",1,["bdk_coin_select::bnb::BranchStrategy"]],["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=\"bdk_coin_select/enum.ExcessStrategyKind.html\" title=\"enum bdk_coin_select::ExcessStrategyKind\">ExcessStrategyKind</a>",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["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=\"bdk_coin_select/enum.SelectionConstraint.html\" title=\"enum bdk_coin_select::SelectionConstraint\">SelectionConstraint</a>",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["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=\"struct\" href=\"bdk_coin_select/struct.CoinSelectorOpt.html\" title=\"struct bdk_coin_select::CoinSelectorOpt\">CoinSelectorOpt</a>",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["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=\"struct\" href=\"bdk_coin_select/struct.ExcessStrategy.html\" title=\"struct bdk_coin_select::ExcessStrategy\">ExcessStrategy</a>",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["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=\"struct\" href=\"bdk_coin_select/struct.Selection.html\" title=\"struct bdk_coin_select::Selection\">Selection</a>",1,["bdk_coin_select::coin_selector::Selection"]],["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=\"struct\" href=\"bdk_coin_select/struct.SelectionError.html\" title=\"struct bdk_coin_select::SelectionError\">SelectionError</a>",1,["bdk_coin_select::coin_selector::SelectionError"]],["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=\"struct\" href=\"bdk_coin_select/struct.WeightedValue.html\" title=\"struct bdk_coin_select::WeightedValue\">WeightedValue</a>",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl<'a> <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=\"struct\" href=\"bdk_coin_select/struct.CoinSelector.html\" title=\"struct bdk_coin_select::CoinSelector\">CoinSelector</a><'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl<'c, 'f, S> !<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=\"struct\" href=\"bdk_coin_select/struct.BnbIter.html\" title=\"struct bdk_coin_select::BnbIter\">BnbIter</a><'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl<'c, S> <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=\"struct\" href=\"bdk_coin_select/struct.Bnb.html\" title=\"struct bdk_coin_select::Bnb\">Bnb</a><'c, S><div class=\"where\">where\n S: <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>,</div>",1,["bdk_coin_select::bnb::Bnb"]]],
"bdk_electrum":[["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=\"struct\" href=\"bdk_electrum/struct.ElectrumSyncResult.html\" title=\"struct bdk_electrum::ElectrumSyncResult\">ElectrumSyncResult</a>",1,["bdk_electrum::bdk_electrum_client::ElectrumSyncResult"]],["impl<E> <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=\"struct\" href=\"bdk_electrum/struct.BdkElectrumClient.html\" title=\"struct bdk_electrum::BdkElectrumClient\">BdkElectrumClient</a><E><div class=\"where\">where\n E: <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>,</div>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]],["impl<K> <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=\"struct\" href=\"bdk_electrum/struct.ElectrumFullScanResult.html\" title=\"struct bdk_electrum::ElectrumFullScanResult\">ElectrumFullScanResult</a><K><div class=\"where\">where\n K: <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>,</div>",1,["bdk_electrum::bdk_electrum_client::ElectrumFullScanResult"]]],
"bdk_file_store":[["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=\"bdk_file_store/enum.FileError.html\" title=\"enum bdk_file_store::FileError\">FileError</a>",1,["bdk_file_store::FileError"]],["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=\"bdk_file_store/enum.IterError.html\" title=\"enum bdk_file_store::IterError\">IterError</a>",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> !<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=\"struct\" href=\"bdk_file_store/struct.EntryIter.html\" title=\"struct bdk_file_store::EntryIter\">EntryIter</a><'t, T>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> !<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=\"struct\" href=\"bdk_file_store/struct.AggregateChangesetsError.html\" title=\"struct bdk_file_store::AggregateChangesetsError\">AggregateChangesetsError</a><C>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> <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=\"struct\" href=\"bdk_file_store/struct.Store.html\" title=\"struct bdk_file_store::Store\">Store</a><C><div class=\"where\">where\n C: <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>,</div>",1,["bdk_file_store::store::Store"]]],
(function() {var implementors = {
-"bdk_chain":[["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'de, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"],["impl<'de, A, IA> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,\n IA: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"],["impl<'de, K> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"],["impl<'de, K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"]],
+"bdk_chain":[["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<'de, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"],["impl<'de, A, IA> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,\n IA: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"],["impl<'de, K> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"],["impl<'de, K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div>"]],
"bdk_wallet":[["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_wallet/struct.LocalOutput.html\" title=\"struct bdk_wallet::LocalOutput\">LocalOutput</a>"],["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_wallet/wallet/export/struct.FullyNodedExport.html\" title=\"struct bdk_wallet::wallet::export::FullyNodedExport\">FullyNodedExport</a>"]],
"example_cli":[["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"example_cli/enum.Keychain.html\" title=\"enum example_cli::Keychain\">Keychain</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {
-"bdk_chain":[["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.Balance.html\" title=\"struct bdk_chain::keychain::Balance\">Balance</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"],["impl<A, IA> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n IA: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"],["impl<K> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/keychain/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"],["impl<K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"]],
+"bdk_chain":[["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_chain/enum.ConfirmationTime.html\" title=\"enum bdk_chain::ConfirmationTime\">ConfirmationTime</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.Balance.html\" title=\"struct bdk_chain::Balance\">Balance</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationHeightAnchor\">ConfirmationHeightAnchor</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.ConfirmationTimeHeightAnchor.html\" title=\"struct bdk_chain::ConfirmationTimeHeightAnchor\">ConfirmationTimeHeightAnchor</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.DescriptorId.html\" title=\"struct bdk_chain::DescriptorId\">DescriptorId</a>"],["impl<A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::tx_graph::ChangeSet\">ChangeSet</a><A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"],["impl<A, IA> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, IA><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n IA: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"],["impl<K> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/indexer/keychain_txout/struct.ChangeSet.html\" title=\"struct bdk_chain::indexer::keychain_txout::ChangeSet\">ChangeSet</a><K><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"],["impl<K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div>"]],
"bdk_wallet":[["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.PkOrF.html\" title=\"enum bdk_wallet::descriptor::policy::PkOrF\">PkOrF</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.Satisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::Satisfaction\">Satisfaction</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.SatisfiableItem.html\" title=\"enum bdk_wallet::descriptor::policy::SatisfiableItem\">SatisfiableItem</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/enum.KeychainKind.html\" title=\"enum bdk_wallet::KeychainKind\">KeychainKind</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Condition.html\" title=\"struct bdk_wallet::descriptor::policy::Condition\">Condition</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_wallet/struct.LocalOutput.html\" title=\"struct bdk_wallet::LocalOutput\">LocalOutput</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_wallet/wallet/export/struct.FullyNodedExport.html\" title=\"struct bdk_wallet::wallet::export::FullyNodedExport\">FullyNodedExport</a>"]],
"example_cli":[["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"example_cli/enum.Keychain.html\" title=\"enum example_cli::Keychain\">Keychain</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var type_impls = {
"bdk_chain":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#134-144\">source</a><a href=\"#impl-Append-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>, V> <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a> for <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#135-139\">source</a><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#141-143\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#125-131\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#610\">source</a><a href=\"#impl-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const since 1.66.0\">1.0.0 (const: 1.66.0)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#629\">source</a></span><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new\" class=\"fn\">new</a>() -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Makes a new, empty <code>BTreeMap</code>.</p>\n<p>Does not allocate anything on its own.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2359\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.iter\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2380\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter\" class=\"fn\">iter</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Iter.html\" title=\"struct alloc::collections::btree::map::Iter\">Iter</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Iter<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter() {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n\n<span class=\"kw\">let </span>(first_key, first_value) = map.iter().next().unwrap();\n<span class=\"macro\">assert_eq!</span>((<span class=\"kw-2\">*</span>first_key, <span class=\"kw-2\">*</span>first_value), (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter_mut\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2411\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter_mut\" class=\"fn\">iter_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IterMut.html\" title=\"struct alloc::collections::btree::map::IterMut\">IterMut</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IterMut<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"string\">\"a\"</span>, <span class=\"number\">1</span>),\n (<span class=\"string\">\"b\"</span>, <span class=\"number\">2</span>),\n (<span class=\"string\">\"c\"</span>, <span class=\"number\">3</span>),\n]);\n\n<span class=\"comment\">// add 10 to the value if the key isn't \"a\"\n</span><span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter_mut() {\n <span class=\"kw\">if </span>key != <span class=\"kw-2\">&</span><span class=\"string\">\"a\" </span>{\n <span class=\"kw-2\">*</span>value += <span class=\"number\">10</span>;\n }\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.keys\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2436\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.keys\" class=\"fn\">keys</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Keys.html\" title=\"struct alloc::collections::btree::map::Keys\">Keys</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Keys<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the keys of the map, in sorted order.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<<span class=\"kw\">_</span>> = a.keys().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2455\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values\" class=\"fn\">values</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Values.html\" title=\"struct alloc::collections::btree::map::Values\">Values</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Values<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.10.0\">1.10.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2479\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values_mut\" class=\"fn\">values_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ValuesMut.html\" title=\"struct alloc::collections::btree::map::ValuesMut\">ValuesMut</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"ValuesMut<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, String::from(<span class=\"string\">\"hello\"</span>));\na.insert(<span class=\"number\">2</span>, String::from(<span class=\"string\">\"goodbye\"</span>));\n\n<span class=\"kw\">for </span>value <span class=\"kw\">in </span>a.values_mut() {\n value.push_str(<span class=\"string\">\"!\"</span>);\n}\n\n<span class=\"kw\">let </span>values: Vec<String> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [String::from(<span class=\"string\">\"hello!\"</span>),\n String::from(<span class=\"string\">\"goodbye!\"</span>)]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.len\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2503\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.len\" class=\"fn\">len</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a></h4></section></summary><div class=\"docblock\"><p>Returns the number of elements in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">0</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2526\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains no elements.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert!</span>(a.is_empty());\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert!</span>(!a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2570-2573\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound\" class=\"fn\">lower_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2623-2626\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound_mut\" class=\"fn\">lower_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2693-2696\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound\" class=\"fn\">upper_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2746-2749\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound_mut\" class=\"fn\">upper_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#634\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.clear\" class=\"method\"><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/alloc/collections/btree/map.rs.html#648\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.clear\" class=\"fn\">clear</a>(&mut self)</h4></section></summary><div class=\"docblock\"><p>Clears the map, removing all elements.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.clear();\n<span class=\"macro\">assert!</span>(a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_in\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#674\">source</a><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new_in\" class=\"fn\">new_in</a>(alloc: A) -> <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><K, V, A></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><div class=\"docblock\"><p>Makes a new empty BTreeMap with a reasonable choice for B.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::alloc::Global;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new_in(Global);\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#679\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.get\" class=\"method\"><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/alloc/collections/btree/map.rs.html#696-699\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get\" class=\"fn\">get</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.40.0\">1.40.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#724-727\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_key_value\" class=\"fn\">get_key_value</a><Q>(&self, k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the key-value pair corresponding to the supplied key.</p>\n<p>The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#751-753\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_key_value\" class=\"fn\">first_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">None</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#779-781\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_entry\" class=\"fn\">first_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.first_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"first\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"first\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_first\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#813-815\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_first\" class=\"fn\">pop_first</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<p>Draining elements in ascending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_first() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k > key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#834-836\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_key_value\" class=\"fn\">last_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.last_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#862-864\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_entry\" class=\"fn\">last_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.last_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"last\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"last\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_last\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#896-898\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_last\" class=\"fn\">pop_last</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<p>Draining elements in descending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_last() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k < key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.contains_key\" class=\"method\"><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/alloc/collections/btree/map.rs.html#919-922\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.contains_key\" class=\"fn\">contains_key</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains a value for the specified key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"bool-val\">true</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"bool-val\">false</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_mut\" class=\"method\"><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/alloc/collections/btree/map.rs.html#946-949\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_mut\" class=\"fn\">get_mut</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a mutable reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(x) = map.get_mut(<span class=\"kw-2\">&</span><span class=\"number\">1</span>) {\n <span class=\"kw-2\">*</span>x = <span class=\"string\">\"b\"</span>;\n}\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert\" class=\"method\"><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/alloc/collections/btree/map.rs.html#984-986\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.insert\" class=\"fn\">insert</a>(&mut self, key: K, value: V) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Inserts a key-value pair into the map.</p>\n<p>If the map did not have this key present, <code>None</code> is returned.</p>\n<p>If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be <code>==</code> without being identical. See the <a href=\"index.html#insert-and-complex-keys\">module-level\ndocumentation</a> for more.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(map.is_empty(), <span class=\"bool-val\">false</span>);\n\nmap.insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"c\"</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"b\"</span>));\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">37</span>], <span class=\"string\">\"c\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.try_insert\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1019-1021\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.try_insert\" class=\"fn\">try_insert</a>(\n &mut self,\n key: K,\n value: V\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedError.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedError\">OccupiedError</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>map_try_insert</code>)</span></div></span></summary><div class=\"docblock\"><p>Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.</p>\n<p>If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.</p>\n<h5 id=\"examples-11\"><a class=\"doc-anchor\" href=\"#examples-11\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(map_try_insert)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>).unwrap(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>err = map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>).unwrap_err();\n<span class=\"macro\">assert_eq!</span>(err.entry.key(), <span class=\"kw-2\">&</span><span class=\"number\">37</span>);\n<span class=\"macro\">assert_eq!</span>(err.entry.get(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(err.value, <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove\" class=\"method\"><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/alloc/collections/btree/map.rs.html#1047-1050\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove\" class=\"fn\">remove</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the value at the key if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-12\"><a class=\"doc-anchor\" href=\"#examples-12\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.45.0\">1.45.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1072-1075\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove_entry\" class=\"fn\">remove_entry</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-13\"><a class=\"doc-anchor\" href=\"#examples-13\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.retain\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.53.0\">1.53.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1110-1113\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.retain\" class=\"fn\">retain</a><F>(&mut self, f: F)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class=\"docblock\"><p>Retains only the elements specified by the predicate.</p>\n<p>In other words, remove all pairs <code>(k, v)</code> for which <code>f(&k, &mut v)</code> returns <code>false</code>.\nThe elements are visited in ascending key order.</p>\n<h5 id=\"examples-14\"><a class=\"doc-anchor\" href=\"#examples-14\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x<span class=\"kw-2\">*</span><span class=\"number\">10</span>)).collect();\n<span class=\"comment\">// Keep only the elements with even-numbered keys.\n</span>map.retain(|<span class=\"kw-2\">&</span>k, <span class=\"kw\">_</span>| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>);\n<span class=\"macro\">assert!</span>(map.into_iter().eq(<span class=\"macro\">vec!</span>[(<span class=\"number\">0</span>, <span class=\"number\">0</span>), (<span class=\"number\">2</span>, <span class=\"number\">20</span>), (<span class=\"number\">4</span>, <span class=\"number\">40</span>), (<span class=\"number\">6</span>, <span class=\"number\">60</span>)]));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1150-1153\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: &mut <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><K, V, A>)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Moves all elements from <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>\n<p>If a key from <code>other</code> is already present in <code>self</code>, the respective\nvalue from <code>self</code> will be overwritten with the respective value from <code>other</code>.</p>\n<h5 id=\"examples-15\"><a class=\"doc-anchor\" href=\"#examples-15\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>); <span class=\"comment\">// Note: Key (3) also present in b.\n\n</span><span class=\"kw\">let </span><span class=\"kw-2\">mut </span>b = BTreeMap::new();\nb.insert(<span class=\"number\">3</span>, <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: Key (3) also present in a.\n</span>b.insert(<span class=\"number\">4</span>, <span class=\"string\">\"e\"</span>);\nb.insert(<span class=\"number\">5</span>, <span class=\"string\">\"f\"</span>);\n\na.append(<span class=\"kw-2\">&mut </span>b);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">5</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">0</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: \"c\" has been overwritten.\n</span><span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">4</span>], <span class=\"string\">\"e\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">5</span>], <span class=\"string\">\"f\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1205-1209\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range\" class=\"fn\">range</a><T, R>(&self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Range.html\" title=\"struct alloc::collections::btree::map::Range\">Range</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Range<'_, K, V>\">ⓘ</a><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-16\"><a class=\"doc-anchor\" href=\"#examples-16\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound::Included;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">5</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">8</span>, <span class=\"string\">\"c\"</span>);\n<span class=\"kw\">for </span>(<span class=\"kw-2\">&</span>key, <span class=\"kw-2\">&</span>value) <span class=\"kw\">in </span>map.range((Included(<span class=\"kw-2\">&</span><span class=\"number\">4</span>), Included(<span class=\"kw-2\">&</span><span class=\"number\">8</span>))) {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">5</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)), map.range(<span class=\"number\">4</span>..).next());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1245-1249\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range_mut\" class=\"fn\">range_mut</a><T, R>(&mut self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.RangeMut.html\" title=\"struct alloc::collections::btree::map::RangeMut\">RangeMut</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"RangeMut<'_, K, V>\">ⓘ</a><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics-1\"><a class=\"doc-anchor\" href=\"#panics-1\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-17\"><a class=\"doc-anchor\" href=\"#examples-17\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<<span class=\"kw-2\">&</span>str, i32> =\n [(<span class=\"string\">\"Alice\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Bob\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Carol\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Cheryl\"</span>, <span class=\"number\">0</span>)].into();\n<span class=\"kw\">for </span>(<span class=\"kw\">_</span>, balance) <span class=\"kw\">in </span>map.range_mut(<span class=\"string\">\"B\"</span>..<span class=\"string\">\"Cheryl\"</span>) {\n <span class=\"kw-2\">*</span>balance += <span class=\"number\">100</span>;\n}\n<span class=\"kw\">for </span>(name, balance) <span class=\"kw\">in </span><span class=\"kw-2\">&</span>map {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{name} => {balance}\"</span>);\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.entry\" class=\"method\"><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/alloc/collections/btree/map.rs.html#1277-1279\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.entry\" class=\"fn\">entry</a>(&mut self, key: K) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/enum.Entry.html\" title=\"enum alloc::collections::btree::map::entry::Entry\">Entry</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Gets the given key’s corresponding entry in the map for in-place manipulation.</p>\n<h5 id=\"examples-18\"><a class=\"doc-anchor\" href=\"#examples-18\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>count: BTreeMap<<span class=\"kw-2\">&</span>str, usize> = BTreeMap::new();\n\n<span class=\"comment\">// count the number of occurrences of letters in the vec\n</span><span class=\"kw\">for </span>x <span class=\"kw\">in </span>[<span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"c\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>] {\n count.entry(x).and_modify(|curr| <span class=\"kw-2\">*</span>curr += <span class=\"number\">1</span>).or_insert(<span class=\"number\">1</span>);\n}\n\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"a\"</span>], <span class=\"number\">3</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"b\"</span>], <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"c\"</span>], <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.split_off\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1336-1339\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.split_off\" class=\"fn\">split_off</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <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><K, V, A><div class=\"where\">where\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.</p>\n<h5 id=\"examples-19\"><a class=\"doc-anchor\" href=\"#examples-19\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\na.insert(<span class=\"number\">17</span>, <span class=\"string\">\"d\"</span>);\na.insert(<span class=\"number\">41</span>, <span class=\"string\">\"e\"</span>);\n\n<span class=\"kw\">let </span>b = a.split_off(<span class=\"kw-2\">&</span><span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"c\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">17</span>], <span class=\"string\">\"d\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">41</span>], <span class=\"string\">\"e\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_if\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1391-1394\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.extract_if\" class=\"fn\">extract_if</a><F>(&mut self, pred: F) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ExtractIf.html\" title=\"struct alloc::collections::btree::map::ExtractIf\">ExtractIf</a><'_, K, V, F, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"ExtractIf<'_, K, V, F, A>\">ⓘ</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_extract_if</code>)</span></div></span></summary><div class=\"docblock\"><p>Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns <code>true</code>, the element is removed from\nthe map and yielded. If the closure returns <code>false</code>, or panics, the\nelement remains in the map and will not be yielded.</p>\n<p>The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.</p>\n<p>If the returned <code>ExtractIf</code> is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.retain\" title=\"method alloc::collections::btree::map::BTreeMap::retain\"><code>retain</code></a> with a negated predicate if you do not need the returned iterator.</p>\n<h5 id=\"examples-20\"><a class=\"doc-anchor\" href=\"#examples-20\">§</a>Examples</h5>\n<p>Splitting a map into even and odd keys, reusing the original map:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_extract_if)]\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x)).collect();\n<span class=\"kw\">let </span>evens: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = map.extract_if(|k, _v| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>).collect();\n<span class=\"kw\">let </span>odds = map;\n<span class=\"macro\">assert_eq!</span>(evens.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">0</span>, <span class=\"number\">2</span>, <span class=\"number\">4</span>, <span class=\"number\">6</span>]);\n<span class=\"macro\">assert_eq!</span>(odds.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">1</span>, <span class=\"number\">3</span>, <span class=\"number\">5</span>, <span class=\"number\">7</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1445\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_keys\" class=\"fn\">into_keys</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoKeys.html\" title=\"struct alloc::collections::btree::map::IntoKeys\">IntoKeys</a><K, V, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IntoKeys<K, V, A>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is <code>K</code>.</p>\n<h5 id=\"examples-21\"><a class=\"doc-anchor\" href=\"#examples-21\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<i32> = a.into_keys().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1467\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_values\" class=\"fn\">into_values</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoValues.html\" title=\"struct alloc::collections::btree::map::IntoValues\">IntoValues</a><K, V, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IntoValues<K, V, A>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is <code>V</code>.</p>\n<h5 id=\"examples-22\"><a class=\"doc-anchor\" href=\"#examples-22\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.into_values().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#207\">source</a></span><a href=\"#impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#208\">source</a><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>(&self) -> <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><K, V, 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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2312\">source</a></span><a href=\"#impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2313\">source</a><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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"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/alloc/collections/btree/map.rs.html#2278\">source</a></span><a href=\"#impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2280\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Creates an empty <code>BTreeMap</code>.</p>\n</div></details></div></details>","Default","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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><K, V>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.7.0\">1.7.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#187\">source</a></span><a href=\"#impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.drop\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#188\">source</a><a href=\"#method.drop\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\" class=\"fn\">drop</a>(&mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\">Read more</a></div></details></div></details>","Drop","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.2.0\">1.2.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2254-2255\">source</a></span><a href=\"#impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'a, K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2257\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><I>(&mut self, iter: I)<div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2262\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>))</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(&'a K, &'a V)>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2239\">source</a></span><a href=\"#impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2241\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><T>(&mut self, iter: T)<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2248\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(K, V)>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.56.0\">1.56.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2338\">source</a></span><a href=\"#impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2348\">source</a><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>(arr: [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]) -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Converts a <code>[(K, V); N]</code> into a <code>BTreeMap<(K, V)></code>.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span>map1 = BTreeMap::from([(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)]);\n<span class=\"kw\">let </span>map2: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = [(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)].into();\n<span class=\"macro\">assert_eq!</span>(map1, map2);</code></pre></div>\n</div></details></div></details>","From<[(K, V); N]>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"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/alloc/collections/btree/map.rs.html#2224\">source</a></span><a href=\"#impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html\" title=\"trait core::iter::traits::collect::FromIterator\">FromIterator</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2225\">source</a><a href=\"#method.from_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\" class=\"fn\">from_iter</a><T>(iter: T) -> <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><K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\">Read more</a></div></details></div></details>","FromIterator<(K, V)>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2268\">source</a></span><a href=\"#impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2269\">source</a><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><H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n 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><H>(data: &<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\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n 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>","Hash","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2319-2322\">source</a></span><a href=\"#impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, Q, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html\" title=\"trait core::ops::index::Index\">Index</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</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.index\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2332\">source</a><a href=\"#method.index\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index\" class=\"fn\">index</a>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the supplied key.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if the key is not present in the <code>BTreeMap</code>.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = V</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details></div></details>","Index<&Q>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/value.rs.html#1425-1429\">source</a><a href=\"#impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V, E> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> + <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/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>,\n E: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Error.html\" title=\"trait serde::de::Error\">Error</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Deserializer\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" class=\"associatedtype\">Deserializer</a> = <a class=\"struct\" href=\"https://docs.rs/serde/1.0.203/serde/de/value/struct.MapDeserializer.html\" title=\"struct serde::de::value::MapDeserializer\">MapDeserializer</a><'de, <<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><K, V> as <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a>>::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" title=\"type core::iter::traits::collect::IntoIterator::IntoIter\">IntoIter</a>, E></h4></section></summary><div class='docblock'>The type of the deserializer being converted into.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_deserializer\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/value.rs.html#1433\">source</a><a href=\"#method.into_deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#tymethod.into_deserializer\" class=\"fn\">into_deserializer</a>(\n self\n) -> <<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><K, V> as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" title=\"type serde::de::IntoDeserializer::Deserializer\">Deserializer</a></h4></section></summary><div class='docblock'>Convert this value into a deserializer.</div></details></div></details>","IntoDeserializer<'de, E>","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#1636\">source</a></span><a href=\"#impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.into_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1641\">source</a><a href=\"#method.into_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter\" class=\"fn\">into_iter</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IntoIter<K, V, A>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an owning iterator over the entries of the map, sorted by key.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Item\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Item\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.IntoIter\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.IntoIter\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" class=\"associatedtype\">IntoIter</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details></div></details>","IntoIterator","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2304\">source</a></span><a href=\"#impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2306\">source</a><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<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><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2286\">source</a></span><a href=\"#impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2287\">source</a><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>(&self, other: &<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><K, V, A>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2296\">source</a></span><a href=\"#impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2298\">source</a><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>(&self, other: &<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><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><</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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><=</code>\noperator. <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_chain::local_chain::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_chain::local_chain::ChangeSet"],["<section id=\"impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2293\">source</a></span><a href=\"#impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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>","Eq","bdk_chain::local_chain::ChangeSet"],["<section id=\"impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.64.0\">1.64.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#198-202\">source</a></span><a href=\"#impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <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>,\n K: <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>,\n V: <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>,</div></h3></section>","UnwindSafe","bdk_chain::local_chain::ChangeSet"]],
-"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#134\">source</a><a href=\"#impl-Append-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Append.html\" title=\"trait bdk_chain::tx_data_traits::Append\">Append</a> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#135\">source</a><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Append.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: <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><K, V>)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#141\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Append.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#125\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Append.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#610\">source</a><a href=\"#impl-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const since 1.66.0\">1.0.0 (const: 1.66.0)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#629\">source</a></span><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new\" class=\"fn\">new</a>() -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Makes a new, empty <code>BTreeMap</code>.</p>\n<p>Does not allocate anything on its own.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2359\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.iter\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2380\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter\" class=\"fn\">iter</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Iter.html\" title=\"struct alloc::collections::btree::map::Iter\">Iter</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter() {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n\n<span class=\"kw\">let </span>(first_key, first_value) = map.iter().next().unwrap();\n<span class=\"macro\">assert_eq!</span>((<span class=\"kw-2\">*</span>first_key, <span class=\"kw-2\">*</span>first_value), (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter_mut\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2411\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter_mut\" class=\"fn\">iter_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IterMut.html\" title=\"struct alloc::collections::btree::map::IterMut\">IterMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"string\">\"a\"</span>, <span class=\"number\">1</span>),\n (<span class=\"string\">\"b\"</span>, <span class=\"number\">2</span>),\n (<span class=\"string\">\"c\"</span>, <span class=\"number\">3</span>),\n]);\n\n<span class=\"comment\">// add 10 to the value if the key isn't \"a\"\n</span><span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter_mut() {\n <span class=\"kw\">if </span>key != <span class=\"kw-2\">&</span><span class=\"string\">\"a\" </span>{\n <span class=\"kw-2\">*</span>value += <span class=\"number\">10</span>;\n }\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.keys\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2436\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.keys\" class=\"fn\">keys</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Keys.html\" title=\"struct alloc::collections::btree::map::Keys\">Keys</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the keys of the map, in sorted order.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<<span class=\"kw\">_</span>> = a.keys().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2455\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values\" class=\"fn\">values</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Values.html\" title=\"struct alloc::collections::btree::map::Values\">Values</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.10.0\">1.10.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2479\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values_mut\" class=\"fn\">values_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ValuesMut.html\" title=\"struct alloc::collections::btree::map::ValuesMut\">ValuesMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, String::from(<span class=\"string\">\"hello\"</span>));\na.insert(<span class=\"number\">2</span>, String::from(<span class=\"string\">\"goodbye\"</span>));\n\n<span class=\"kw\">for </span>value <span class=\"kw\">in </span>a.values_mut() {\n value.push_str(<span class=\"string\">\"!\"</span>);\n}\n\n<span class=\"kw\">let </span>values: Vec<String> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [String::from(<span class=\"string\">\"hello!\"</span>),\n String::from(<span class=\"string\">\"goodbye!\"</span>)]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.len\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2503\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.len\" class=\"fn\">len</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a></h4></section></summary><div class=\"docblock\"><p>Returns the number of elements in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">0</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2526\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains no elements.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert!</span>(a.is_empty());\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert!</span>(!a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2570-2573\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound\" class=\"fn\">lower_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2623-2626\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound_mut\" class=\"fn\">lower_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2693-2696\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound\" class=\"fn\">upper_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2746-2749\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound_mut\" class=\"fn\">upper_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#634\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.clear\" class=\"method\"><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/alloc/collections/btree/map.rs.html#648\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.clear\" class=\"fn\">clear</a>(&mut self)</h4></section></summary><div class=\"docblock\"><p>Clears the map, removing all elements.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.clear();\n<span class=\"macro\">assert!</span>(a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_in\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#674\">source</a><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new_in\" class=\"fn\">new_in</a>(alloc: A) -> <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><K, V, A></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><div class=\"docblock\"><p>Makes a new empty BTreeMap with a reasonable choice for B.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::alloc::Global;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new_in(Global);\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#679\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.get\" class=\"method\"><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/alloc/collections/btree/map.rs.html#696-699\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get\" class=\"fn\">get</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.40.0\">1.40.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#724-727\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_key_value\" class=\"fn\">get_key_value</a><Q>(&self, k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the key-value pair corresponding to the supplied key.</p>\n<p>The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#751-753\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_key_value\" class=\"fn\">first_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">None</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#779-781\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_entry\" class=\"fn\">first_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.first_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"first\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"first\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_first\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#813-815\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_first\" class=\"fn\">pop_first</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<p>Draining elements in ascending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_first() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k > key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#834-836\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_key_value\" class=\"fn\">last_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.last_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#862-864\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_entry\" class=\"fn\">last_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.last_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"last\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"last\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_last\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#896-898\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_last\" class=\"fn\">pop_last</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<p>Draining elements in descending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_last() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k < key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.contains_key\" class=\"method\"><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/alloc/collections/btree/map.rs.html#919-922\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.contains_key\" class=\"fn\">contains_key</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains a value for the specified key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"bool-val\">true</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"bool-val\">false</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_mut\" class=\"method\"><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/alloc/collections/btree/map.rs.html#946-949\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_mut\" class=\"fn\">get_mut</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a mutable reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(x) = map.get_mut(<span class=\"kw-2\">&</span><span class=\"number\">1</span>) {\n <span class=\"kw-2\">*</span>x = <span class=\"string\">\"b\"</span>;\n}\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert\" class=\"method\"><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/alloc/collections/btree/map.rs.html#984-986\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.insert\" class=\"fn\">insert</a>(&mut self, key: K, value: V) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Inserts a key-value pair into the map.</p>\n<p>If the map did not have this key present, <code>None</code> is returned.</p>\n<p>If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be <code>==</code> without being identical. See the <a href=\"index.html#insert-and-complex-keys\">module-level\ndocumentation</a> for more.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(map.is_empty(), <span class=\"bool-val\">false</span>);\n\nmap.insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"c\"</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"b\"</span>));\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">37</span>], <span class=\"string\">\"c\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.try_insert\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1019-1021\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.try_insert\" class=\"fn\">try_insert</a>(\n &mut self,\n key: K,\n value: V\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedError.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedError\">OccupiedError</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>map_try_insert</code>)</span></div></span></summary><div class=\"docblock\"><p>Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.</p>\n<p>If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.</p>\n<h5 id=\"examples-11\"><a class=\"doc-anchor\" href=\"#examples-11\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(map_try_insert)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>).unwrap(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>err = map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>).unwrap_err();\n<span class=\"macro\">assert_eq!</span>(err.entry.key(), <span class=\"kw-2\">&</span><span class=\"number\">37</span>);\n<span class=\"macro\">assert_eq!</span>(err.entry.get(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(err.value, <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove\" class=\"method\"><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/alloc/collections/btree/map.rs.html#1047-1050\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove\" class=\"fn\">remove</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the value at the key if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-12\"><a class=\"doc-anchor\" href=\"#examples-12\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.45.0\">1.45.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1072-1075\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove_entry\" class=\"fn\">remove_entry</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-13\"><a class=\"doc-anchor\" href=\"#examples-13\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.retain\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.53.0\">1.53.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1110-1113\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.retain\" class=\"fn\">retain</a><F>(&mut self, f: F)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class=\"docblock\"><p>Retains only the elements specified by the predicate.</p>\n<p>In other words, remove all pairs <code>(k, v)</code> for which <code>f(&k, &mut v)</code> returns <code>false</code>.\nThe elements are visited in ascending key order.</p>\n<h5 id=\"examples-14\"><a class=\"doc-anchor\" href=\"#examples-14\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x<span class=\"kw-2\">*</span><span class=\"number\">10</span>)).collect();\n<span class=\"comment\">// Keep only the elements with even-numbered keys.\n</span>map.retain(|<span class=\"kw-2\">&</span>k, <span class=\"kw\">_</span>| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>);\n<span class=\"macro\">assert!</span>(map.into_iter().eq(<span class=\"macro\">vec!</span>[(<span class=\"number\">0</span>, <span class=\"number\">0</span>), (<span class=\"number\">2</span>, <span class=\"number\">20</span>), (<span class=\"number\">4</span>, <span class=\"number\">40</span>), (<span class=\"number\">6</span>, <span class=\"number\">60</span>)]));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1150-1153\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: &mut <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><K, V, A>)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Moves all elements from <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>\n<p>If a key from <code>other</code> is already present in <code>self</code>, the respective\nvalue from <code>self</code> will be overwritten with the respective value from <code>other</code>.</p>\n<h5 id=\"examples-15\"><a class=\"doc-anchor\" href=\"#examples-15\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>); <span class=\"comment\">// Note: Key (3) also present in b.\n\n</span><span class=\"kw\">let </span><span class=\"kw-2\">mut </span>b = BTreeMap::new();\nb.insert(<span class=\"number\">3</span>, <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: Key (3) also present in a.\n</span>b.insert(<span class=\"number\">4</span>, <span class=\"string\">\"e\"</span>);\nb.insert(<span class=\"number\">5</span>, <span class=\"string\">\"f\"</span>);\n\na.append(<span class=\"kw-2\">&mut </span>b);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">5</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">0</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: \"c\" has been overwritten.\n</span><span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">4</span>], <span class=\"string\">\"e\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">5</span>], <span class=\"string\">\"f\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1205-1209\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range\" class=\"fn\">range</a><T, R>(&self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Range.html\" title=\"struct alloc::collections::btree::map::Range\">Range</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-16\"><a class=\"doc-anchor\" href=\"#examples-16\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound::Included;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">5</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">8</span>, <span class=\"string\">\"c\"</span>);\n<span class=\"kw\">for </span>(<span class=\"kw-2\">&</span>key, <span class=\"kw-2\">&</span>value) <span class=\"kw\">in </span>map.range((Included(<span class=\"kw-2\">&</span><span class=\"number\">4</span>), Included(<span class=\"kw-2\">&</span><span class=\"number\">8</span>))) {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">5</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)), map.range(<span class=\"number\">4</span>..).next());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1245-1249\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range_mut\" class=\"fn\">range_mut</a><T, R>(&mut self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.RangeMut.html\" title=\"struct alloc::collections::btree::map::RangeMut\">RangeMut</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics-1\"><a class=\"doc-anchor\" href=\"#panics-1\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-17\"><a class=\"doc-anchor\" href=\"#examples-17\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<<span class=\"kw-2\">&</span>str, i32> =\n [(<span class=\"string\">\"Alice\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Bob\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Carol\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Cheryl\"</span>, <span class=\"number\">0</span>)].into();\n<span class=\"kw\">for </span>(<span class=\"kw\">_</span>, balance) <span class=\"kw\">in </span>map.range_mut(<span class=\"string\">\"B\"</span>..<span class=\"string\">\"Cheryl\"</span>) {\n <span class=\"kw-2\">*</span>balance += <span class=\"number\">100</span>;\n}\n<span class=\"kw\">for </span>(name, balance) <span class=\"kw\">in </span><span class=\"kw-2\">&</span>map {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{name} => {balance}\"</span>);\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.entry\" class=\"method\"><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/alloc/collections/btree/map.rs.html#1277-1279\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.entry\" class=\"fn\">entry</a>(&mut self, key: K) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/enum.Entry.html\" title=\"enum alloc::collections::btree::map::entry::Entry\">Entry</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Gets the given key’s corresponding entry in the map for in-place manipulation.</p>\n<h5 id=\"examples-18\"><a class=\"doc-anchor\" href=\"#examples-18\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>count: BTreeMap<<span class=\"kw-2\">&</span>str, usize> = BTreeMap::new();\n\n<span class=\"comment\">// count the number of occurrences of letters in the vec\n</span><span class=\"kw\">for </span>x <span class=\"kw\">in </span>[<span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"c\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>] {\n count.entry(x).and_modify(|curr| <span class=\"kw-2\">*</span>curr += <span class=\"number\">1</span>).or_insert(<span class=\"number\">1</span>);\n}\n\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"a\"</span>], <span class=\"number\">3</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"b\"</span>], <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"c\"</span>], <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.split_off\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1336-1339\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.split_off\" class=\"fn\">split_off</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <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><K, V, A><div class=\"where\">where\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.</p>\n<h5 id=\"examples-19\"><a class=\"doc-anchor\" href=\"#examples-19\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\na.insert(<span class=\"number\">17</span>, <span class=\"string\">\"d\"</span>);\na.insert(<span class=\"number\">41</span>, <span class=\"string\">\"e\"</span>);\n\n<span class=\"kw\">let </span>b = a.split_off(<span class=\"kw-2\">&</span><span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"c\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">17</span>], <span class=\"string\">\"d\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">41</span>], <span class=\"string\">\"e\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_if\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1391-1394\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.extract_if\" class=\"fn\">extract_if</a><F>(&mut self, pred: F) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ExtractIf.html\" title=\"struct alloc::collections::btree::map::ExtractIf\">ExtractIf</a><'_, K, V, F, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_extract_if</code>)</span></div></span></summary><div class=\"docblock\"><p>Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns <code>true</code>, the element is removed from\nthe map and yielded. If the closure returns <code>false</code>, or panics, the\nelement remains in the map and will not be yielded.</p>\n<p>The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.</p>\n<p>If the returned <code>ExtractIf</code> is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.retain\" title=\"method alloc::collections::btree::map::BTreeMap::retain\"><code>retain</code></a> with a negated predicate if you do not need the returned iterator.</p>\n<h5 id=\"examples-20\"><a class=\"doc-anchor\" href=\"#examples-20\">§</a>Examples</h5>\n<p>Splitting a map into even and odd keys, reusing the original map:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_extract_if)]\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x)).collect();\n<span class=\"kw\">let </span>evens: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = map.extract_if(|k, _v| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>).collect();\n<span class=\"kw\">let </span>odds = map;\n<span class=\"macro\">assert_eq!</span>(evens.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">0</span>, <span class=\"number\">2</span>, <span class=\"number\">4</span>, <span class=\"number\">6</span>]);\n<span class=\"macro\">assert_eq!</span>(odds.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">1</span>, <span class=\"number\">3</span>, <span class=\"number\">5</span>, <span class=\"number\">7</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1445\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_keys\" class=\"fn\">into_keys</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoKeys.html\" title=\"struct alloc::collections::btree::map::IntoKeys\">IntoKeys</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is <code>K</code>.</p>\n<h5 id=\"examples-21\"><a class=\"doc-anchor\" href=\"#examples-21\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<i32> = a.into_keys().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1467\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_values\" class=\"fn\">into_values</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoValues.html\" title=\"struct alloc::collections::btree::map::IntoValues\">IntoValues</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is <code>V</code>.</p>\n<h5 id=\"examples-22\"><a class=\"doc-anchor\" href=\"#examples-22\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.into_values().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#207\">source</a></span><a href=\"#impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#208\">source</a><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>(&self) -> <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><K, V, 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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2312\">source</a></span><a href=\"#impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2313\">source</a><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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"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/alloc/collections/btree/map.rs.html#2278\">source</a></span><a href=\"#impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2280\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Creates an empty <code>BTreeMap</code>.</p>\n</div></details></div></details>","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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><K, V>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.7.0\">1.7.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#187\">source</a></span><a href=\"#impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.drop\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#188\">source</a><a href=\"#method.drop\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\" class=\"fn\">drop</a>(&mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\">Read more</a></div></details></div></details>","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.2.0\">1.2.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2254-2255\">source</a></span><a href=\"#impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'a, K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2257\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><I>(&mut self, iter: I)<div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2262\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>))</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2239\">source</a></span><a href=\"#impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2241\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><T>(&mut self, iter: T)<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2248\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.56.0\">1.56.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2338\">source</a></span><a href=\"#impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2348\">source</a><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>(arr: [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]) -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Converts a <code>[(K, V); N]</code> into a <code>BTreeMap<(K, V)></code>.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span>map1 = BTreeMap::from([(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)]);\n<span class=\"kw\">let </span>map2: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = [(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)].into();\n<span class=\"macro\">assert_eq!</span>(map1, map2);</code></pre></div>\n</div></details></div></details>","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"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/alloc/collections/btree/map.rs.html#2224\">source</a></span><a href=\"#impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html\" title=\"trait core::iter::traits::collect::FromIterator\">FromIterator</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2225\">source</a><a href=\"#method.from_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\" class=\"fn\">from_iter</a><T>(iter: T) -> <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><K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\">Read more</a></div></details></div></details>","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2268\">source</a></span><a href=\"#impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2269\">source</a><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><H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n 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><H>(data: &<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\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n 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>","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2319-2322\">source</a></span><a href=\"#impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, Q, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html\" title=\"trait core::ops::index::Index\">Index</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</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.index\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2332\">source</a><a href=\"#method.index\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index\" class=\"fn\">index</a>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the supplied key.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if the key is not present in the <code>BTreeMap</code>.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = V</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details></div></details>","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"impl\"><a href=\"#impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl IntoAssets for <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><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_assets\" class=\"method trait-impl\"><a href=\"#method.into_assets\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">into_assets</a>(self) -> Assets</h4></section></summary><div class='docblock'>Convert <code>self</code> into a <code>Assets</code> struct</div></details></div></details>","IntoAssets","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/value.rs.html#1425-1429\">source</a><a href=\"#impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V, E> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> + <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/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>,\n E: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Error.html\" title=\"trait serde::de::Error\">Error</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Deserializer\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" class=\"associatedtype\">Deserializer</a> = <a class=\"struct\" href=\"https://docs.rs/serde/1.0.203/serde/de/value/struct.MapDeserializer.html\" title=\"struct serde::de::value::MapDeserializer\">MapDeserializer</a><'de, <<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><K, V> as <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a>>::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" title=\"type core::iter::traits::collect::IntoIterator::IntoIter\">IntoIter</a>, E></h4></section></summary><div class='docblock'>The type of the deserializer being converted into.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_deserializer\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/value.rs.html#1433\">source</a><a href=\"#method.into_deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#tymethod.into_deserializer\" class=\"fn\">into_deserializer</a>(\n self\n) -> <<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><K, V> as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" title=\"type serde::de::IntoDeserializer::Deserializer\">Deserializer</a></h4></section></summary><div class='docblock'>Convert this value into a deserializer.</div></details></div></details>","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#1636\">source</a></span><a href=\"#impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.into_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1641\">source</a><a href=\"#method.into_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter\" class=\"fn\">into_iter</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Gets an owning iterator over the entries of the map, sorted by key.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Item\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Item\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.IntoIter\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.IntoIter\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" class=\"associatedtype\">IntoIter</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details></div></details>","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2304\">source</a></span><a href=\"#impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2306\">source</a><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<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><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2286\">source</a></span><a href=\"#impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2287\">source</a><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>(&self, other: &<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><K, V, A>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2296\">source</a></span><a href=\"#impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2298\">source</a><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>(&self, other: &<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><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><</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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><=</code>\noperator. <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2293\">source</a></span><a href=\"#impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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>","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.64.0\">1.64.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#198-202\">source</a></span><a href=\"#impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <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>,\n K: <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>,\n V: <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>,</div></h3></section>","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]]
+"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a href=\"#impl-Append-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> Append for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">append</a>(&mut self, other: <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><K, V>)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#610\">source</a><a href=\"#impl-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const since 1.66.0\">1.0.0 (const: 1.66.0)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#629\">source</a></span><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new\" class=\"fn\">new</a>() -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Makes a new, empty <code>BTreeMap</code>.</p>\n<p>Does not allocate anything on its own.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2359\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.iter\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2380\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter\" class=\"fn\">iter</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Iter.html\" title=\"struct alloc::collections::btree::map::Iter\">Iter</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter() {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n\n<span class=\"kw\">let </span>(first_key, first_value) = map.iter().next().unwrap();\n<span class=\"macro\">assert_eq!</span>((<span class=\"kw-2\">*</span>first_key, <span class=\"kw-2\">*</span>first_value), (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter_mut\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2411\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter_mut\" class=\"fn\">iter_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IterMut.html\" title=\"struct alloc::collections::btree::map::IterMut\">IterMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"string\">\"a\"</span>, <span class=\"number\">1</span>),\n (<span class=\"string\">\"b\"</span>, <span class=\"number\">2</span>),\n (<span class=\"string\">\"c\"</span>, <span class=\"number\">3</span>),\n]);\n\n<span class=\"comment\">// add 10 to the value if the key isn't \"a\"\n</span><span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter_mut() {\n <span class=\"kw\">if </span>key != <span class=\"kw-2\">&</span><span class=\"string\">\"a\" </span>{\n <span class=\"kw-2\">*</span>value += <span class=\"number\">10</span>;\n }\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.keys\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2436\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.keys\" class=\"fn\">keys</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Keys.html\" title=\"struct alloc::collections::btree::map::Keys\">Keys</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the keys of the map, in sorted order.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<<span class=\"kw\">_</span>> = a.keys().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values\" class=\"method\"><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/alloc/collections/btree/map.rs.html#2455\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values\" class=\"fn\">values</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Values.html\" title=\"struct alloc::collections::btree::map::Values\">Values</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.10.0\">1.10.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2479\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values_mut\" class=\"fn\">values_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ValuesMut.html\" title=\"struct alloc::collections::btree::map::ValuesMut\">ValuesMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, String::from(<span class=\"string\">\"hello\"</span>));\na.insert(<span class=\"number\">2</span>, String::from(<span class=\"string\">\"goodbye\"</span>));\n\n<span class=\"kw\">for </span>value <span class=\"kw\">in </span>a.values_mut() {\n value.push_str(<span class=\"string\">\"!\"</span>);\n}\n\n<span class=\"kw\">let </span>values: Vec<String> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [String::from(<span class=\"string\">\"hello!\"</span>),\n String::from(<span class=\"string\">\"goodbye!\"</span>)]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.len\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2503\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.len\" class=\"fn\">len</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a></h4></section></summary><div class=\"docblock\"><p>Returns the number of elements in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">0</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2526\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains no elements.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert!</span>(a.is_empty());\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert!</span>(!a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2570-2573\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound\" class=\"fn\">lower_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2623-2626\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound_mut\" class=\"fn\">lower_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2693-2696\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound\" class=\"fn\">upper_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2746-2749\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound_mut\" class=\"fn\">upper_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#634\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.clear\" class=\"method\"><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/alloc/collections/btree/map.rs.html#648\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.clear\" class=\"fn\">clear</a>(&mut self)</h4></section></summary><div class=\"docblock\"><p>Clears the map, removing all elements.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.clear();\n<span class=\"macro\">assert!</span>(a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_in\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#674\">source</a><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new_in\" class=\"fn\">new_in</a>(alloc: A) -> <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><K, V, A></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><div class=\"docblock\"><p>Makes a new empty BTreeMap with a reasonable choice for B.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::alloc::Global;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new_in(Global);\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#679\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.get\" class=\"method\"><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/alloc/collections/btree/map.rs.html#696-699\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get\" class=\"fn\">get</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.40.0\">1.40.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#724-727\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_key_value\" class=\"fn\">get_key_value</a><Q>(&self, k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the key-value pair corresponding to the supplied key.</p>\n<p>The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#751-753\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_key_value\" class=\"fn\">first_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">None</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#779-781\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_entry\" class=\"fn\">first_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.first_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"first\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"first\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_first\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#813-815\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_first\" class=\"fn\">pop_first</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<p>Draining elements in ascending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_first() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k > key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#834-836\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_key_value\" class=\"fn\">last_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.last_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#862-864\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_entry\" class=\"fn\">last_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.last_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"last\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"last\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_last\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#896-898\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_last\" class=\"fn\">pop_last</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<p>Draining elements in descending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_last() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k < key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.contains_key\" class=\"method\"><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/alloc/collections/btree/map.rs.html#919-922\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.contains_key\" class=\"fn\">contains_key</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains a value for the specified key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"bool-val\">true</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"bool-val\">false</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_mut\" class=\"method\"><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/alloc/collections/btree/map.rs.html#946-949\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_mut\" class=\"fn\">get_mut</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a mutable reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(x) = map.get_mut(<span class=\"kw-2\">&</span><span class=\"number\">1</span>) {\n <span class=\"kw-2\">*</span>x = <span class=\"string\">\"b\"</span>;\n}\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert\" class=\"method\"><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/alloc/collections/btree/map.rs.html#984-986\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.insert\" class=\"fn\">insert</a>(&mut self, key: K, value: V) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Inserts a key-value pair into the map.</p>\n<p>If the map did not have this key present, <code>None</code> is returned.</p>\n<p>If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be <code>==</code> without being identical. See the <a href=\"index.html#insert-and-complex-keys\">module-level\ndocumentation</a> for more.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(map.is_empty(), <span class=\"bool-val\">false</span>);\n\nmap.insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"c\"</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"b\"</span>));\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">37</span>], <span class=\"string\">\"c\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.try_insert\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1019-1021\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.try_insert\" class=\"fn\">try_insert</a>(\n &mut self,\n key: K,\n value: V\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedError.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedError\">OccupiedError</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>map_try_insert</code>)</span></div></span></summary><div class=\"docblock\"><p>Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.</p>\n<p>If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.</p>\n<h5 id=\"examples-11\"><a class=\"doc-anchor\" href=\"#examples-11\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(map_try_insert)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>).unwrap(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>err = map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>).unwrap_err();\n<span class=\"macro\">assert_eq!</span>(err.entry.key(), <span class=\"kw-2\">&</span><span class=\"number\">37</span>);\n<span class=\"macro\">assert_eq!</span>(err.entry.get(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(err.value, <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove\" class=\"method\"><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/alloc/collections/btree/map.rs.html#1047-1050\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove\" class=\"fn\">remove</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the value at the key if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-12\"><a class=\"doc-anchor\" href=\"#examples-12\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.45.0\">1.45.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1072-1075\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove_entry\" class=\"fn\">remove_entry</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-13\"><a class=\"doc-anchor\" href=\"#examples-13\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.retain\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.53.0\">1.53.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1110-1113\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.retain\" class=\"fn\">retain</a><F>(&mut self, f: F)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class=\"docblock\"><p>Retains only the elements specified by the predicate.</p>\n<p>In other words, remove all pairs <code>(k, v)</code> for which <code>f(&k, &mut v)</code> returns <code>false</code>.\nThe elements are visited in ascending key order.</p>\n<h5 id=\"examples-14\"><a class=\"doc-anchor\" href=\"#examples-14\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x<span class=\"kw-2\">*</span><span class=\"number\">10</span>)).collect();\n<span class=\"comment\">// Keep only the elements with even-numbered keys.\n</span>map.retain(|<span class=\"kw-2\">&</span>k, <span class=\"kw\">_</span>| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>);\n<span class=\"macro\">assert!</span>(map.into_iter().eq(<span class=\"macro\">vec!</span>[(<span class=\"number\">0</span>, <span class=\"number\">0</span>), (<span class=\"number\">2</span>, <span class=\"number\">20</span>), (<span class=\"number\">4</span>, <span class=\"number\">40</span>), (<span class=\"number\">6</span>, <span class=\"number\">60</span>)]));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1150-1153\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: &mut <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><K, V, A>)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Moves all elements from <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>\n<p>If a key from <code>other</code> is already present in <code>self</code>, the respective\nvalue from <code>self</code> will be overwritten with the respective value from <code>other</code>.</p>\n<h5 id=\"examples-15\"><a class=\"doc-anchor\" href=\"#examples-15\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>); <span class=\"comment\">// Note: Key (3) also present in b.\n\n</span><span class=\"kw\">let </span><span class=\"kw-2\">mut </span>b = BTreeMap::new();\nb.insert(<span class=\"number\">3</span>, <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: Key (3) also present in a.\n</span>b.insert(<span class=\"number\">4</span>, <span class=\"string\">\"e\"</span>);\nb.insert(<span class=\"number\">5</span>, <span class=\"string\">\"f\"</span>);\n\na.append(<span class=\"kw-2\">&mut </span>b);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">5</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">0</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: \"c\" has been overwritten.\n</span><span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">4</span>], <span class=\"string\">\"e\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">5</span>], <span class=\"string\">\"f\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1205-1209\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range\" class=\"fn\">range</a><T, R>(&self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Range.html\" title=\"struct alloc::collections::btree::map::Range\">Range</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-16\"><a class=\"doc-anchor\" href=\"#examples-16\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound::Included;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">5</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">8</span>, <span class=\"string\">\"c\"</span>);\n<span class=\"kw\">for </span>(<span class=\"kw-2\">&</span>key, <span class=\"kw-2\">&</span>value) <span class=\"kw\">in </span>map.range((Included(<span class=\"kw-2\">&</span><span class=\"number\">4</span>), Included(<span class=\"kw-2\">&</span><span class=\"number\">8</span>))) {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">5</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)), map.range(<span class=\"number\">4</span>..).next());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1245-1249\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range_mut\" class=\"fn\">range_mut</a><T, R>(&mut self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.RangeMut.html\" title=\"struct alloc::collections::btree::map::RangeMut\">RangeMut</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics-1\"><a class=\"doc-anchor\" href=\"#panics-1\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-17\"><a class=\"doc-anchor\" href=\"#examples-17\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<<span class=\"kw-2\">&</span>str, i32> =\n [(<span class=\"string\">\"Alice\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Bob\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Carol\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Cheryl\"</span>, <span class=\"number\">0</span>)].into();\n<span class=\"kw\">for </span>(<span class=\"kw\">_</span>, balance) <span class=\"kw\">in </span>map.range_mut(<span class=\"string\">\"B\"</span>..<span class=\"string\">\"Cheryl\"</span>) {\n <span class=\"kw-2\">*</span>balance += <span class=\"number\">100</span>;\n}\n<span class=\"kw\">for </span>(name, balance) <span class=\"kw\">in </span><span class=\"kw-2\">&</span>map {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{name} => {balance}\"</span>);\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.entry\" class=\"method\"><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/alloc/collections/btree/map.rs.html#1277-1279\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.entry\" class=\"fn\">entry</a>(&mut self, key: K) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/enum.Entry.html\" title=\"enum alloc::collections::btree::map::entry::Entry\">Entry</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Gets the given key’s corresponding entry in the map for in-place manipulation.</p>\n<h5 id=\"examples-18\"><a class=\"doc-anchor\" href=\"#examples-18\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>count: BTreeMap<<span class=\"kw-2\">&</span>str, usize> = BTreeMap::new();\n\n<span class=\"comment\">// count the number of occurrences of letters in the vec\n</span><span class=\"kw\">for </span>x <span class=\"kw\">in </span>[<span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"c\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>] {\n count.entry(x).and_modify(|curr| <span class=\"kw-2\">*</span>curr += <span class=\"number\">1</span>).or_insert(<span class=\"number\">1</span>);\n}\n\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"a\"</span>], <span class=\"number\">3</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"b\"</span>], <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"c\"</span>], <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.split_off\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1336-1339\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.split_off\" class=\"fn\">split_off</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <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><K, V, A><div class=\"where\">where\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.</p>\n<h5 id=\"examples-19\"><a class=\"doc-anchor\" href=\"#examples-19\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\na.insert(<span class=\"number\">17</span>, <span class=\"string\">\"d\"</span>);\na.insert(<span class=\"number\">41</span>, <span class=\"string\">\"e\"</span>);\n\n<span class=\"kw\">let </span>b = a.split_off(<span class=\"kw-2\">&</span><span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"c\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">17</span>], <span class=\"string\">\"d\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">41</span>], <span class=\"string\">\"e\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_if\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1391-1394\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.extract_if\" class=\"fn\">extract_if</a><F>(&mut self, pred: F) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ExtractIf.html\" title=\"struct alloc::collections::btree::map::ExtractIf\">ExtractIf</a><'_, K, V, F, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_extract_if</code>)</span></div></span></summary><div class=\"docblock\"><p>Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns <code>true</code>, the element is removed from\nthe map and yielded. If the closure returns <code>false</code>, or panics, the\nelement remains in the map and will not be yielded.</p>\n<p>The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.</p>\n<p>If the returned <code>ExtractIf</code> is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.retain\" title=\"method alloc::collections::btree::map::BTreeMap::retain\"><code>retain</code></a> with a negated predicate if you do not need the returned iterator.</p>\n<h5 id=\"examples-20\"><a class=\"doc-anchor\" href=\"#examples-20\">§</a>Examples</h5>\n<p>Splitting a map into even and odd keys, reusing the original map:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_extract_if)]\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x)).collect();\n<span class=\"kw\">let </span>evens: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = map.extract_if(|k, _v| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>).collect();\n<span class=\"kw\">let </span>odds = map;\n<span class=\"macro\">assert_eq!</span>(evens.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">0</span>, <span class=\"number\">2</span>, <span class=\"number\">4</span>, <span class=\"number\">6</span>]);\n<span class=\"macro\">assert_eq!</span>(odds.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">1</span>, <span class=\"number\">3</span>, <span class=\"number\">5</span>, <span class=\"number\">7</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1445\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_keys\" class=\"fn\">into_keys</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoKeys.html\" title=\"struct alloc::collections::btree::map::IntoKeys\">IntoKeys</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is <code>K</code>.</p>\n<h5 id=\"examples-21\"><a class=\"doc-anchor\" href=\"#examples-21\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<i32> = a.into_keys().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1467\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_values\" class=\"fn\">into_values</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoValues.html\" title=\"struct alloc::collections::btree::map::IntoValues\">IntoValues</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is <code>V</code>.</p>\n<h5 id=\"examples-22\"><a class=\"doc-anchor\" href=\"#examples-22\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.into_values().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#207\">source</a></span><a href=\"#impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#208\">source</a><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>(&self) -> <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><K, V, 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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2312\">source</a></span><a href=\"#impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2313\">source</a><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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"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/alloc/collections/btree/map.rs.html#2278\">source</a></span><a href=\"#impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <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><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2280\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Creates an empty <code>BTreeMap</code>.</p>\n</div></details></div></details>","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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><K, V>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.7.0\">1.7.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#187\">source</a></span><a href=\"#impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.drop\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#188\">source</a><a href=\"#method.drop\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\" class=\"fn\">drop</a>(&mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\">Read more</a></div></details></div></details>","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.2.0\">1.2.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2254-2255\">source</a></span><a href=\"#impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'a, K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2257\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><I>(&mut self, iter: I)<div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2262\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>))</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2239\">source</a></span><a href=\"#impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2241\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><T>(&mut self, iter: T)<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2248\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.56.0\">1.56.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2338\">source</a></span><a href=\"#impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2348\">source</a><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>(arr: [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]) -> <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><K, V></h4></section></summary><div class=\"docblock\"><p>Converts a <code>[(K, V); N]</code> into a <code>BTreeMap<(K, V)></code>.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span>map1 = BTreeMap::from([(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)]);\n<span class=\"kw\">let </span>map2: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = [(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)].into();\n<span class=\"macro\">assert_eq!</span>(map1, map2);</code></pre></div>\n</div></details></div></details>","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"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/alloc/collections/btree/map.rs.html#2224\">source</a></span><a href=\"#impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html\" title=\"trait core::iter::traits::collect::FromIterator\">FromIterator</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2225\">source</a><a href=\"#method.from_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\" class=\"fn\">from_iter</a><T>(iter: T) -> <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><K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\">Read more</a></div></details></div></details>","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2268\">source</a></span><a href=\"#impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2269\">source</a><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><H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n 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><H>(data: &<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\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n 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>","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2319-2322\">source</a></span><a href=\"#impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, Q, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html\" title=\"trait core::ops::index::Index\">Index</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</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.index\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2332\">source</a><a href=\"#method.index\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index\" class=\"fn\">index</a>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the supplied key.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if the key is not present in the <code>BTreeMap</code>.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = V</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details></div></details>","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"impl\"><a href=\"#impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl IntoAssets for <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><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_assets\" class=\"method trait-impl\"><a href=\"#method.into_assets\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">into_assets</a>(self) -> Assets</h4></section></summary><div class='docblock'>Convert <code>self</code> into a <code>Assets</code> struct</div></details></div></details>","IntoAssets","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/value.rs.html#1425-1429\">source</a><a href=\"#impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V, E> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> + <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/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>,\n E: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Error.html\" title=\"trait serde::de::Error\">Error</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Deserializer\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" class=\"associatedtype\">Deserializer</a> = <a class=\"struct\" href=\"https://docs.rs/serde/1.0.203/serde/de/value/struct.MapDeserializer.html\" title=\"struct serde::de::value::MapDeserializer\">MapDeserializer</a><'de, <<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><K, V> as <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a>>::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" title=\"type core::iter::traits::collect::IntoIterator::IntoIter\">IntoIter</a>, E></h4></section></summary><div class='docblock'>The type of the deserializer being converted into.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_deserializer\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/de/value.rs.html#1433\">source</a><a href=\"#method.into_deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#tymethod.into_deserializer\" class=\"fn\">into_deserializer</a>(\n self\n) -> <<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><K, V> as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" title=\"type serde::de::IntoDeserializer::Deserializer\">Deserializer</a></h4></section></summary><div class='docblock'>Convert this value into a deserializer.</div></details></div></details>","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#1636\">source</a></span><a href=\"#impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a> for <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><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.into_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1641\">source</a><a href=\"#method.into_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter\" class=\"fn\">into_iter</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Gets an owning iterator over the entries of the map, sorted by key.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Item\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Item\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.IntoIter\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.IntoIter\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" class=\"associatedtype\">IntoIter</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details></div></details>","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2304\">source</a></span><a href=\"#impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <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><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2306\">source</a><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<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><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2286\">source</a></span><a href=\"#impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2287\">source</a><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>(&self, other: &<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><K, V, A>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2296\">source</a></span><a href=\"#impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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 method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2298\">source</a><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>(&self, other: &<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><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><</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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><=</code>\noperator. <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <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><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.203/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"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/alloc/collections/btree/map.rs.html#2293\">source</a></span><a href=\"#impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <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>","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.64.0\">1.64.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#198-202\">source</a></span><a href=\"#impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <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=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <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>,\n K: <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>,\n V: <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>,</div></h3></section>","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]]
};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
(function() {var type_impls = {
-"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#36\">source</a><a href=\"#impl-Append-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Append.html\" title=\"trait bdk_chain::tx_data_traits::Append\">Append</a> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Anchor.html\" title=\"trait bdk_chain::tx_data_traits::Anchor\">Anchor</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#37\">source</a><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Append.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A>)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#49\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Append.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#125\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Append.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><a href=\"#impl-Clone-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <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=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <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 method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><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>(&self) -> <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, 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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><a href=\"#impl-Debug-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <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=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#25\">source</a><a href=\"#impl-Default-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#26\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\">Read more</a></div></details></div></details>","Default","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#6\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#6\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><__D>(\n __deserializer: __D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A>, <__D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n __D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#55\">source</a><a href=\"#impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<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><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><BlockHash>>> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#56\">source</a><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>(chain: <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><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><BlockHash>>) -> <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<BTreeMap<u32, Option<BlockHash>>>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#65-66\">source</a><a href=\"#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <a class=\"struct\" href=\"bdk_chain/keychain/txout_index/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::txout_index::ChangeSet\">ChangeSet</a><K>>> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#68-70\">source</a><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>(indexed_tx_graph: <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <a class=\"struct\" href=\"bdk_chain/keychain/txout_index/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::txout_index::ChangeSet\">ChangeSet</a><K>>) -> <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<ChangeSet<A, ChangeSet<K>>>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#79\">source</a><a href=\"#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"bdk_chain/keychain/txout_index/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::txout_index::ChangeSet\">ChangeSet</a><K>> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#80\">source</a><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>(indexer: <a class=\"struct\" href=\"bdk_chain/keychain/txout_index/struct.ChangeSet.html\" title=\"struct bdk_chain::keychain::txout_index::ChangeSet\">ChangeSet</a><K>) -> <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<ChangeSet<K>>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><a href=\"#impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <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=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><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>(&self, other: &<a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#6\">source</a><a href=\"#impl-Serialize-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#6\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><__S>(\n &self,\n __serializer: __S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<__S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <__S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n __S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::wallet::ChangeSet"],["<section id=\"impl-StructuralPartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/changeset.rs.html#3\">source</a><a href=\"#impl-StructuralPartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <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=\"struct\" href=\"bdk_chain/changeset/struct.CombinedChangeSet.html\" title=\"struct bdk_chain::changeset::CombinedChangeSet\">CombinedChangeSet</a><K, A></h3></section>","StructuralPartialEq","bdk_wallet::wallet::ChangeSet"]]
+"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-Append-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> Append for CombinedChangeSet<K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: Anchor,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">append</a>(&mut self, other: CombinedChangeSet<K, A>)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-Clone-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for CombinedChangeSet<K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <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 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>(&self) -> CombinedChangeSet<K, 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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-Debug-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for CombinedChangeSet<K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,</div></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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-Default-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for CombinedChangeSet<K, A></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> CombinedChangeSet<K, A></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\">Read more</a></div></details></div></details>","Default","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-Deserialize%3C'de%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for CombinedChangeSet<K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></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=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><__D>(\n __deserializer: __D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><CombinedChangeSet<K, A>, <__D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n __D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<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><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><BlockHash>>> for CombinedChangeSet<K, 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>(chain: <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><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><BlockHash>>) -> CombinedChangeSet<K, A></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<BTreeMap<u32, Option<BlockHash>>>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, 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>(indexed_tx_graph: ChangeSet<A, ChangeSet<K>>) -> CombinedChangeSet<K, A></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<ChangeSet<A, ChangeSet<K>>>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><ChangeSet<K>> for CombinedChangeSet<K, 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>(indexer: ChangeSet<K>) -> CombinedChangeSet<K, A></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<ChangeSet<K>>","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-PartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for CombinedChangeSet<K, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,</div></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>(&self, other: &CombinedChangeSet<K, A>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::wallet::ChangeSet"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-Serialize-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for CombinedChangeSet<K, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></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=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><__S>(\n &self,\n __serializer: __S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<__S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <__S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n __S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::wallet::ChangeSet"],["<section id=\"impl-StructuralPartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"impl\"><a href=\"#impl-StructuralPartialEq-for-CombinedChangeSet%3CK,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for CombinedChangeSet<K, A></h3></section>","StructuralPartialEq","bdk_wallet::wallet::ChangeSet"]]
};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
(function() {var type_impls = {
-"example_cli":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#356\">source</a><a href=\"#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.as_ref\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#357\">source</a><a href=\"#method.as_ref\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref\" class=\"fn\">as_ref</a>(&self) -> &<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details>","AsRef<TxGraph<A>>","example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#14\">source</a><a href=\"#impl-Debug-for-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <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=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#14\">source</a><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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#21\">source</a><a href=\"#impl-Default-for-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#22\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\">Read more</a></div></details></div></details>","Default","example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#211-214\">source</a><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n A: <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Anchor.html\" title=\"trait bdk_chain::tx_data_traits::Anchor\">Anchor</a> + <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.AnchorFromBlockPosition.html\" title=\"trait bdk_chain::tx_data_traits::AnchorFromBlockPosition\">AnchorFromBlockPosition</a>,\n I: <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>,\n <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> + <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Append.html\" title=\"trait bdk_chain::tx_data_traits::Append\">Append</a>,</div></h3></section></summary><div class=\"docblock\"><p>Methods are available if the anchor (<code>A</code>) implements <a href=\"bdk_chain/tx_data_traits/trait.AnchorFromBlockPosition.html\" title=\"trait bdk_chain::tx_data_traits::AnchorFromBlockPosition\"><code>AnchorFromBlockPosition</code></a>.</p>\n</div><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_block_relevant\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#224-228\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.apply_block_relevant\" class=\"fn\">apply_block_relevant</a>(\n &mut self,\n block: &Block,\n height: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>, filtering out those that are\nirrelevant.</p>\n<p>Each inserted transaction’s anchor will be constructed from\n<a href=\"bdk_chain/tx_data_traits/trait.AnchorFromBlockPosition.html#tymethod.from_block_position\" title=\"associated function bdk_chain::tx_data_traits::AnchorFromBlockPosition::from_block_position\"><code>AnchorFromBlockPosition::from_block_position</code></a>.</p>\n<p>Relevancy is determined by the internal <a href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#tymethod.is_tx_relevant\" title=\"method bdk_chain::indexed_tx_graph::Indexer::is_tx_relevant\"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>.\nIrrelevant transactions in <code>txs</code> will be ignored.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_block\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#256\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.apply_block\" class=\"fn\">apply_block</a>(\n &mut self,\n block: Block,\n height: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>.</p>\n<p>Each inserted transaction’s anchor will be constructed from\n<a href=\"bdk_chain/tx_data_traits/trait.AnchorFromBlockPosition.html#tymethod.from_block_position\" title=\"associated function bdk_chain::tx_data_traits::AnchorFromBlockPosition::from_block_position\"><code>AnchorFromBlockPosition::from_block_position</code></a>.</p>\n<p>To only insert relevant transactions, use <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#method.apply_block_relevant\" title=\"method bdk_chain::indexed_tx_graph::IndexedTxGraph::apply_block_relevant\"><code>apply_block_relevant</code></a> instead.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#30\">source</a><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#32\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.new\" class=\"fn\">new</a>(index: I) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I></h4></section></summary><div class=\"docblock\"><p>Construct a new <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\"><code>IndexedTxGraph</code></a> with a given <code>index</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.graph\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#40\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.graph\" class=\"fn\">graph</a>(&self) -> &<a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A></h4></section></summary><div class=\"docblock\"><p>Get a reference of the internal transaction graph.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#45\">source</a><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n A: <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Anchor.html\" title=\"trait bdk_chain::tx_data_traits::Anchor\">Anchor</a>,\n I: <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_changeset\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#47\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.apply_changeset\" class=\"fn\">apply_changeset</a>(\n &mut self,\n changeset: <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>>\n)</h4></section></summary><div class=\"docblock\"><p>Applies the <a href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\"><code>ChangeSet</code></a> to the <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\"><code>IndexedTxGraph</code></a>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.initial_changeset\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#61\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.initial_changeset\" class=\"fn\">initial_changeset</a>(&self) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Determines the <a href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\"><code>ChangeSet</code></a> between <code>self</code> and an empty <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\"><code>IndexedTxGraph</code></a>.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#68-70\">source</a><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html\" title=\"struct bdk_chain::indexed_tx_graph::IndexedTxGraph\">IndexedTxGraph</a><A, I><div class=\"where\">where\n A: <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Anchor.html\" title=\"trait bdk_chain::tx_data_traits::Anchor\">Anchor</a>,\n I: <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>,\n <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> + <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Append.html\" title=\"trait bdk_chain::tx_data_traits::Append\">Append</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_update\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#89\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.apply_update\" class=\"fn\">apply_update</a>(\n &mut self,\n update: <a class=\"struct\" href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\">TxGraph</a><A>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Apply an <code>update</code> directly.</p>\n<p><code>update</code> is a <a href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\"><code>TxGraph<A></code></a> and the resultant changes is returned as <a href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\"><code>ChangeSet</code></a>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_txout\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#96\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.insert_txout\" class=\"fn\">insert_txout</a>(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Insert a floating <code>txout</code> of given <code>outpoint</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_tx\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#103\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.insert_tx\" class=\"fn\">insert_tx</a>(\n &mut self,\n tx: Transaction\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Insert and index a transaction into the graph.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_anchor\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#110\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.insert_anchor\" class=\"fn\">insert_anchor</a>(\n &mut self,\n txid: Txid,\n anchor: A\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Insert an <code>anchor</code> for a given transaction.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_seen_at\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#118\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.insert_seen_at\" class=\"fn\">insert_seen_at</a>(\n &mut self,\n txid: Txid,\n seen_at: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Insert a unix timestamp of when a transaction is seen in the mempool.</p>\n<p>This is used for transaction conflict resolution in <a href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\"><code>TxGraph</code></a> where the transaction with\nthe later last-seen is prioritized.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.batch_insert_relevant\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#126-129\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.batch_insert_relevant\" class=\"fn\">batch_insert_relevant</a><'t>(\n &mut self,\n txs: impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (&'t Transaction, impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = A>)>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Batch insert transactions, filtering out those that are irrelevant.</p>\n<p>Relevancy is determined by the <a href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#tymethod.is_tx_relevant\" title=\"method bdk_chain::indexed_tx_graph::Indexer::is_tx_relevant\"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>. Irrelevant\ntransactions in <code>txs</code> will be ignored. <code>txs</code> do not need to be in topological order.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.batch_insert_relevant_unconfirmed\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#165-168\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.batch_insert_relevant_unconfirmed\" class=\"fn\">batch_insert_relevant_unconfirmed</a><'t>(\n &mut self,\n unconfirmed_txs: impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (&'t Transaction, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a>)>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Batch insert unconfirmed transactions, filtering out those that are irrelevant.</p>\n<p>Relevancy is determined by the internal <a href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#tymethod.is_tx_relevant\" title=\"method bdk_chain::indexed_tx_graph::Indexer::is_tx_relevant\"><code>Indexer::is_tx_relevant</code></a> implementation of <code>I</code>.\nIrrelevant transactions in <code>txs</code> will be ignored.</p>\n<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The\n<em>last seen</em> communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in <a href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\"><code>TxGraph</code></a> (refer to <a href=\"bdk_chain/tx_graph/struct.TxGraph.html#method.insert_seen_at\" title=\"method bdk_chain::tx_graph::TxGraph::insert_seen_at\"><code>TxGraph::insert_seen_at</code></a> for details).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.batch_insert_unconfirmed\" class=\"method\"><a class=\"src rightside\" href=\"src/bdk_chain/indexed_tx_graph.rs.html#200-203\">source</a><h4 class=\"code-header\">pub fn <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#tymethod.batch_insert_unconfirmed\" class=\"fn\">batch_insert_unconfirmed</a>(\n &mut self,\n txs: impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (Transaction, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a>)>\n) -> <a class=\"struct\" href=\"bdk_chain/indexed_tx_graph/struct.ChangeSet.html\" title=\"struct bdk_chain::indexed_tx_graph::ChangeSet\">ChangeSet</a><A, <I as <a class=\"trait\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html\" title=\"trait bdk_chain::indexed_tx_graph::Indexer\">Indexer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/indexed_tx_graph/trait.Indexer.html#associatedtype.ChangeSet\" title=\"type bdk_chain::indexed_tx_graph::Indexer::ChangeSet\">ChangeSet</a>></h4></section></summary><div class=\"docblock\"><p>Batch insert unconfirmed transactions.</p>\n<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The\n<em>last seen</em> communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in <a href=\"bdk_chain/tx_graph/struct.TxGraph.html\" title=\"struct bdk_chain::tx_graph::TxGraph\"><code>TxGraph</code></a> (refer to <a href=\"bdk_chain/tx_graph/struct.TxGraph.html#method.insert_seen_at\" title=\"method bdk_chain::tx_graph::TxGraph::insert_seen_at\"><code>TxGraph::insert_seen_at</code></a> for details).</p>\n<p>To filter out irrelevant transactions, use <a href=\"bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html#method.batch_insert_relevant_unconfirmed\" title=\"method bdk_chain::indexed_tx_graph::IndexedTxGraph::batch_insert_relevant_unconfirmed\"><code>batch_insert_relevant_unconfirmed</code></a> instead.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"]]
+"example_cli":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-AsRef%3CTxGraph%3CA%3E%3E-for-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><TxGraph<A>> for IndexedTxGraph<A, I></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.as_ref\" class=\"method trait-impl\"><a href=\"#method.as_ref\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref\" class=\"fn\">as_ref</a>(&self) -> &TxGraph<A></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details>","AsRef<TxGraph<A>>","example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-Debug-for-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for IndexedTxGraph<A, I><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,</div></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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-Default-for-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for IndexedTxGraph<A, I><div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> IndexedTxGraph<A, I></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\">Read more</a></div></details></div></details>","Default","example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> IndexedTxGraph<A, I></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">new</a>(index: I) -> IndexedTxGraph<A, I></h4></section></summary><div class=\"docblock\"><p>Construct a new [<code>IndexedTxGraph</code>] with a given <code>index</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.graph\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">graph</a>(&self) -> &TxGraph<A></h4></section></summary><div class=\"docblock\"><p>Get a reference of the internal transaction graph.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> IndexedTxGraph<A, I><div class=\"where\">where\n A: Anchor + AnchorFromBlockPosition,\n I: Indexer,\n <I as Indexer>::ChangeSet: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> + Append,</div></h3></section></summary><div class=\"docblock\"><p>Methods are available if the anchor (<code>A</code>) implements [<code>AnchorFromBlockPosition</code>].</p>\n</div><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_block_relevant\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">apply_block_relevant</a>(\n &mut self,\n block: &Block,\n height: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>, filtering out those that are\nirrelevant.</p>\n<p>Each inserted transaction’s anchor will be constructed from\n[<code>AnchorFromBlockPosition::from_block_position</code>].</p>\n<p>Relevancy is determined by the internal [<code>Indexer::is_tx_relevant</code>] implementation of <code>I</code>.\nIrrelevant transactions in <code>txs</code> will be ignored.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_block\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">apply_block</a>(\n &mut self,\n block: Block,\n height: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Batch insert all transactions of the given <code>block</code> of <code>height</code>.</p>\n<p>Each inserted transaction’s anchor will be constructed from\n[<code>AnchorFromBlockPosition::from_block_position</code>].</p>\n<p>To only insert relevant transactions, use <a href=\"IndexedTxGraph::apply_block_relevant\"><code>apply_block_relevant</code></a> instead.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> IndexedTxGraph<A, I><div class=\"where\">where\n A: Anchor,\n I: Indexer,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_changeset\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">apply_changeset</a>(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>\n)</h4></section></summary><div class=\"docblock\"><p>Applies the [<code>ChangeSet</code>] to the [<code>IndexedTxGraph</code>].</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.initial_changeset\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">initial_changeset</a>(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Determines the [<code>ChangeSet</code>] between <code>self</code> and an empty [<code>IndexedTxGraph</code>].</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IndexedTxGraph%3CA,+I%3E\" class=\"impl\"><a href=\"#impl-IndexedTxGraph%3CA,+I%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<A, I> IndexedTxGraph<A, I><div class=\"where\">where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> + Append,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.apply_update\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">apply_update</a>(\n &mut self,\n update: TxGraph<A>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Apply an <code>update</code> directly.</p>\n<p><code>update</code> is a [<code>TxGraph<A></code>] and the resultant changes is returned as [<code>ChangeSet</code>].</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_txout\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">insert_txout</a>(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Insert a floating <code>txout</code> of given <code>outpoint</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_tx\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">insert_tx</a>(\n &mut self,\n tx: Transaction\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Insert and index a transaction into the graph.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_anchor\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">insert_anchor</a>(\n &mut self,\n txid: Txid,\n anchor: A\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Insert an <code>anchor</code> for a given transaction.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert_seen_at\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">insert_seen_at</a>(\n &mut self,\n txid: Txid,\n seen_at: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Insert a unix timestamp of when a transaction is seen in the mempool.</p>\n<p>This is used for transaction conflict resolution in [<code>TxGraph</code>] where the transaction with\nthe later last-seen is prioritized.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.batch_insert_relevant\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">batch_insert_relevant</a><'t>(\n &mut self,\n txs: impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (&'t Transaction, impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = A>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Batch insert transactions, filtering out those that are irrelevant.</p>\n<p>Relevancy is determined by the [<code>Indexer::is_tx_relevant</code>] implementation of <code>I</code>. Irrelevant\ntransactions in <code>txs</code> will be ignored. <code>txs</code> do not need to be in topological order.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.batch_insert_relevant_unconfirmed\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">batch_insert_relevant_unconfirmed</a><'t>(\n &mut self,\n unconfirmed_txs: impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (&'t Transaction, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Batch insert unconfirmed transactions, filtering out those that are irrelevant.</p>\n<p>Relevancy is determined by the internal [<code>Indexer::is_tx_relevant</code>] implementation of <code>I</code>.\nIrrelevant transactions in <code>txs</code> will be ignored.</p>\n<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The\n<em>last seen</em> communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [<code>TxGraph</code>] (refer to [<code>TxGraph::insert_seen_at</code>] for details).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.batch_insert_unconfirmed\" class=\"method\"><h4 class=\"code-header\">pub fn <a class=\"fn\">batch_insert_unconfirmed</a>(\n &mut self,\n txs: impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (Transaction, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet></h4></section></summary><div class=\"docblock\"><p>Batch insert unconfirmed transactions.</p>\n<p>Items of <code>txs</code> are tuples containing the transaction and a <em>last seen</em> timestamp. The\n<em>last seen</em> communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [<code>TxGraph</code>] (refer to [<code>TxGraph::insert_seen_at</code>] for details).</p>\n<p>To filter out irrelevant transactions, use <a href=\"IndexedTxGraph::batch_insert_relevant_unconfirmed\"><code>batch_insert_relevant_unconfirmed</code></a> instead.</p>\n</div></details></div></details>",0,"example_cli::KeychainTxGraph"]]
};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
(function() {var type_impls = {
-"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Clone-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + MiniscriptKey,</div></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>(&self) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Debug-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>miniscript::descriptor::{Descriptor, DescriptorPublicKey};\n<span class=\"kw\">use </span>miniscript::bitcoin::secp256k1;\n<span class=\"kw\">use </span>std::str::FromStr;\n\n<span class=\"comment\">// test from bip 86\n</span><span class=\"kw\">let </span>secp = secp256k1::Secp256k1::verification_only();\n<span class=\"kw\">let </span>descriptor = Descriptor::<DescriptorPublicKey>::from_str(<span class=\"string\">\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\"</span>)\n .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>result = descriptor.at_derivation_index(<span class=\"number\">0</span>).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).expect(<span class=\"string\">\"Non-hardened derivation\"</span>);\n<span class=\"macro\">assert_eq!</span>(result.to_string(), <span class=\"string\">\"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\"</span>);</code></pre></div>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan\" class=\"fn\">plan</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan_mall\" class=\"fn\">plan_mall</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_deriveable\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_deriveable\" class=\"fn\">is_deriveable</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use has_wildcards instead</span></div></span></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.has_wildcard\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.has_wildcard\" class=\"fn\">has_wildcard</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards i.e. <code>/*</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.at_derivation_index\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.at_derivation_index\" class=\"fn\">at_derivation_index</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section></summary><div class=\"docblock\"><p>Replaces all wildcards (i.e. <code>/*</code>) in the descriptor with a particular derivation index,\nturning it into a <em>definite</em> descriptor.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<ul>\n<li>If index ≥ 2^31</li>\n</ul>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derive\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derive\" class=\"fn\">derive</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use at_derivation_index instead</span></div></span></summary><div class=\"docblock\"><p>Deprecated name for <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>Self::at_derivation_index</code></a>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<p>This is a shorthand for:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code> .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).unwrap();</code></pre></div>\n<p>and is only here really here for backwards compatbility.\nSee <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>at_derivation_index</code></a> and <code>[derived_descriptor</code>] for more documentation.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.parse_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.parse_descriptor\" class=\"fn\">parse_descriptor</a><C>(\n secp: &Secp256k1<C>,\n s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>, <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><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>), Error><div class=\"where\">where\n C: Signing,</div></h4></section></summary><div class=\"docblock\"><p>Parse a descriptor that may contain secret keys</p>\n<p>Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.to_string_with_secret\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.to_string_with_secret\" class=\"fn\">to_string_with_secret</a>(\n &self,\n key_map: &<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><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>\n) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a></h4></section></summary><div class=\"docblock\"><p>Serialize a descriptor to string with its secret keys</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.find_derivation_index_for_spk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.find_derivation_index_for_spk\" class=\"fn\">find_derivation_index_for_spk</a><C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>)>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Utility method for deriving the descriptor at each index in a range to find one matching\n<code>script_pubkey</code>.</p>\n<p>If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_multipath\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_multipath\" class=\"fn\">is_multipath</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether this descriptor contains a key that has multiple derivation paths.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_single_descriptors\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.into_single_descriptors\" class=\"fn\">into_single_descriptors</a>(\n self\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>>, Error></h4></section></summary><div class=\"docblock\"><p>Get as many descriptors as different paths in this descriptor.</p>\n<p>For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.address\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.address\" class=\"fn\">address</a>(&self, network: Network) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Address, Error></h4></section></summary><div class=\"docblock\"><p>Computes the Bitcoin address of the descriptor, if one exists</p>\n<p>Some descriptors like pk() don’t have an address.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>For raw/bare descriptors that don’t have an address.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_pubkey\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_pubkey\" class=\"fn\">script_pubkey</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptpubkey of the descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.unsigned_script_sig\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.unsigned_script_sig\" class=\"fn\">unsigned_script_sig</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.</p>\n<p>This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.explicit_script\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.explicit_script\" class=\"fn\">explicit_script</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the the underlying script before any hashing is done. For\n<code>Bare</code>, <code>Pkh</code> and <code>Wpkh</code> this is the scriptPubkey; for <code>ShWpkh</code> and <code>Sh</code>\nthis is the redeemScript; for the others it is the witness script.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_code\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_code\" class=\"fn\">script_code</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the <code>scriptCode</code> of a transaction output.</p>\n<p>The <code>scriptCode</code> is the Script of the previous transaction output being\nserialized in the sighash when evaluating a <code>CHECKSIG</code> & co. OP code.</p>\n<h5 id=\"errors-2\"><a class=\"doc-anchor\" href=\"#errors-2\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction\" class=\"fn\">get_satisfaction</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction_mall\" class=\"fn\">get_satisfaction_mall</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.satisfy\" class=\"fn\">satisfy</a><S>(&self, txin: &mut TxIn, satisfier: S) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\n<code>TxIn</code> output.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pk\" class=\"fn\">new_pk</a>(pk: Pk) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new pk descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pkh\" class=\"fn\">new_pkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new PkH descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wpkh\" class=\"fn\">new_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new Wpkh descriptor\nWill return Err if uncompressed key is used</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wpkh\" class=\"fn\">new_sh_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wpkh from <code>Pk</code>.\nErrors when uncompressed keys are supplied</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh\" class=\"fn\">new_sh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Legacy.html\" title=\"enum bdk_wallet::descriptor::Legacy\">Legacy</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh\" class=\"fn\">new_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh\" class=\"fn\">new_sh_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_bare\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_bare\" class=\"fn\">new_bare</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, BareCtx>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wpkh\" class=\"fn\">new_sh_with_wpkh</a>(wpkh: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wpkh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wsh\" class=\"fn\">new_sh_with_wsh</a>(wsh: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wsh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_sortedmulti\" class=\"fn\">new_sh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh sortedmulti descriptor with threshold <code>k</code>\nand Vec of <code>pks</code>.\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh_sortedmulti\" class=\"fn\">new_sh_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh sortedmulti descriptor from threshold\n<code>k</code> and Vec of <code>pks</code>\nErrors when miniscript exceeds resource limits under segwit context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh_sortedmulti\" class=\"fn\">new_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_tr\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_tr\" class=\"fn\">new_tr</a>(\n key: Pk,\n script: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><TapTree<Pk>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.desc_type\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.desc_type\" class=\"fn\">desc_type</a>(&self) -> DescriptorType</h4></section></summary><div class=\"docblock\"><p>Get the [DescriptorType] of <a href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a></p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.sanity_check\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.sanity_check\" class=\"fn\">sanity_check</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error></h4></section></summary><div class=\"docblock\"><p>Checks whether the descriptor is safe.</p>\n<p>Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.</p>\n<p>In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_weight_to_satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_weight_to_satisfy\" class=\"fn\">max_weight_to_satisfy</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Weight, Error></h4></section></summary><div class=\"docblock\"><p>Computes an upper bound on the difference between a non-satisfied\n<code>TxIn</code>’s <code>segwit_weight</code> and a satisfied <code>TxIn</code>’s <code>segwit_weight</code></p>\n<p>Since this method uses <code>segwit_weight</code> instead of <code>legacy_weight</code>,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s <code>max_weight_to_satisfy</code>\nfor a more accurate estimate.</p>\n<p>In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n );\n}</code></pre></div>\n<p>Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n );\n}</code></pre></div>\n<p>Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_satisfaction_weight\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_satisfaction_weight\" class=\"fn\">max_satisfaction_weight</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>, Error></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.</span></div></span></summary><div class=\"docblock\"><p>Computes an upper bound on the weight of a satisfying witness to the\ntransaction.</p>\n<p>Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/descriptor_ext.rs.html#25\">source</a><a href=\"#impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"trait\" href=\"bdk_chain/descriptor_ext/trait.DescriptorExt.html\" title=\"trait bdk_chain::descriptor_ext::DescriptorExt\">DescriptorExt</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.dust_value\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/descriptor_ext.rs.html#26\">source</a><a href=\"#method.dust_value\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/descriptor_ext/trait.DescriptorExt.html#tymethod.dust_value\" class=\"fn\">dust_value</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a></h4></section></summary><div class='docblock'>Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.descriptor_id\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/descriptor_ext.rs.html#34\">source</a><a href=\"#method.descriptor_id\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/descriptor_ext/trait.DescriptorExt.html#tymethod.descriptor_id\" class=\"fn\">descriptor_id</a>(&self) -> <a class=\"struct\" href=\"bdk_chain/descriptor_ext/struct.DescriptorId.html\" title=\"struct bdk_chain::descriptor_ext::DescriptorId\">DescriptorId</a></h4></section></summary><div class='docblock'>Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.</div></details></div></details>","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></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=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Display-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Display-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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.Display.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1080-1158\">source</a><a href=\"#impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"trait\" href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html\" title=\"trait bdk_wallet::descriptor::ExtractPolicy\">ExtractPolicy</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_policy\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1081-1157\">source</a><a href=\"#method.extract_policy\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy\" class=\"fn\">extract_policy</a>(\n &self,\n signers: &<a class=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignersContainer.html\" title=\"struct bdk_wallet::wallet::signer::SignersContainer\">SignersContainer</a>,\n build_sat: <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.BuildSatisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::BuildSatisfaction\">BuildSatisfaction</a><'_>,\n secp: &Secp256k1<All>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>>, <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>></h4></section></summary><div class='docblock'>Extract the spending <a href=\"bdk_wallet/descriptor/policy/index.html\" title=\"mod bdk_wallet::descriptor::policy\"><code>policy</code></a></div></details></div></details>","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> ForEachKey<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_each_key\" class=\"method trait-impl\"><a href=\"#method.for_each_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_any_key\" class=\"method trait-impl\"><a href=\"#method.for_any_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,\n Pk: 'a,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key</div></details></div></details>","ForEachKey<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Bare<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Bare<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Bare<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Pkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Pkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Pkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Sh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Sh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Sh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Tr<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Tr<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Tr<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wpkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wpkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wsh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wsh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromStr-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromStr-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Err\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Err\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err\" class=\"associatedtype\">Err</a> = Error</h4></section></summary><div class='docblock'>The associated error which can be returned from parsing.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_str\" class=\"method trait-impl\"><a href=\"#method.from_str\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\" class=\"fn\">from_str</a>(s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class='docblock'>Parses a string <code>s</code> to return a value of this type. <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\">Read more</a></div></details></div></details>","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromTree-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromTree-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> FromTree for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_tree\" class=\"method trait-impl\"><a href=\"#method.from_tree\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">from_tree</a>(top: &Tree<'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Parse an expression tree into a descriptor.</p>\n</div></details></div></details>","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Hash-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> + MiniscriptKey,</div></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><__H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut __H</a>)<div class=\"where\">where\n __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><H>(data: &<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\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n 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>","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> Liftable<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.lift\" class=\"method trait-impl\"><a href=\"#method.lift\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">lift</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Policy<Pk>, Error></h4></section></summary><div class='docblock'>Converts this object into an abstract policy.</div></details></div></details>","Liftable<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Ord-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> + MiniscriptKey,</div></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>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> + MiniscriptKey,</div></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>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><</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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><=</code>\noperator. <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Serialize-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"impl\"><a href=\"#impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<P, Q> TranslatePk<P, Q> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P><div class=\"where\">where\n P: MiniscriptKey,\n Q: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.translate_pk\" class=\"method trait-impl\"><a href=\"#method.translate_pk\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">translate_pk</a><T, E>(\n &self,\n t: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut T</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P> as TranslatePk<P, Q>>::Output, TranslateErr<E>><div class=\"where\">where\n T: Translator<P, Q, E>,</div></h4></section></summary><div class=\"docblock\"><p>Converts a descriptor using abstract keys to one using specific keys.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a class=\"associatedtype\">Output</a> = <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Q></h4></section></summary><div class='docblock'>The associated output type. This must be <code>Self<Q></code>.</div></details></div></details>","TranslatePk<P, Q>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-Eq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Eq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + MiniscriptKey,</div></h3></section>","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section>","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]]
+"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Clone-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + MiniscriptKey,</div></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>(&self) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></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>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&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>","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Debug-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>miniscript::descriptor::{Descriptor, DescriptorPublicKey};\n<span class=\"kw\">use </span>miniscript::bitcoin::secp256k1;\n<span class=\"kw\">use </span>std::str::FromStr;\n\n<span class=\"comment\">// test from bip 86\n</span><span class=\"kw\">let </span>secp = secp256k1::Secp256k1::verification_only();\n<span class=\"kw\">let </span>descriptor = Descriptor::<DescriptorPublicKey>::from_str(<span class=\"string\">\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\"</span>)\n .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>result = descriptor.at_derivation_index(<span class=\"number\">0</span>).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).expect(<span class=\"string\">\"Non-hardened derivation\"</span>);\n<span class=\"macro\">assert_eq!</span>(result.to_string(), <span class=\"string\">\"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\"</span>);</code></pre></div>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan\" class=\"fn\">plan</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan_mall\" class=\"fn\">plan_mall</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_deriveable\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_deriveable\" class=\"fn\">is_deriveable</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use has_wildcards instead</span></div></span></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.has_wildcard\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.has_wildcard\" class=\"fn\">has_wildcard</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards i.e. <code>/*</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.at_derivation_index\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.at_derivation_index\" class=\"fn\">at_derivation_index</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section></summary><div class=\"docblock\"><p>Replaces all wildcards (i.e. <code>/*</code>) in the descriptor with a particular derivation index,\nturning it into a <em>definite</em> descriptor.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<ul>\n<li>If index ≥ 2^31</li>\n</ul>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derive\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derive\" class=\"fn\">derive</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use at_derivation_index instead</span></div></span></summary><div class=\"docblock\"><p>Deprecated name for <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>Self::at_derivation_index</code></a>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<p>This is a shorthand for:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code> .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).unwrap();</code></pre></div>\n<p>and is only here really here for backwards compatbility.\nSee <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>at_derivation_index</code></a> and <code>[derived_descriptor</code>] for more documentation.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.parse_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.parse_descriptor\" class=\"fn\">parse_descriptor</a><C>(\n secp: &Secp256k1<C>,\n s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>, <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><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>), Error><div class=\"where\">where\n C: Signing,</div></h4></section></summary><div class=\"docblock\"><p>Parse a descriptor that may contain secret keys</p>\n<p>Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.to_string_with_secret\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.to_string_with_secret\" class=\"fn\">to_string_with_secret</a>(\n &self,\n key_map: &<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><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>\n) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a></h4></section></summary><div class=\"docblock\"><p>Serialize a descriptor to string with its secret keys</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.find_derivation_index_for_spk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.find_derivation_index_for_spk\" class=\"fn\">find_derivation_index_for_spk</a><C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>)>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Utility method for deriving the descriptor at each index in a range to find one matching\n<code>script_pubkey</code>.</p>\n<p>If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_multipath\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_multipath\" class=\"fn\">is_multipath</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether this descriptor contains a key that has multiple derivation paths.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_single_descriptors\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.into_single_descriptors\" class=\"fn\">into_single_descriptors</a>(\n self\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>>, Error></h4></section></summary><div class=\"docblock\"><p>Get as many descriptors as different paths in this descriptor.</p>\n<p>For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.address\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.address\" class=\"fn\">address</a>(&self, network: Network) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Address, Error></h4></section></summary><div class=\"docblock\"><p>Computes the Bitcoin address of the descriptor, if one exists</p>\n<p>Some descriptors like pk() don’t have an address.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>For raw/bare descriptors that don’t have an address.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_pubkey\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_pubkey\" class=\"fn\">script_pubkey</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptpubkey of the descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.unsigned_script_sig\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.unsigned_script_sig\" class=\"fn\">unsigned_script_sig</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.</p>\n<p>This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.explicit_script\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.explicit_script\" class=\"fn\">explicit_script</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the the underlying script before any hashing is done. For\n<code>Bare</code>, <code>Pkh</code> and <code>Wpkh</code> this is the scriptPubkey; for <code>ShWpkh</code> and <code>Sh</code>\nthis is the redeemScript; for the others it is the witness script.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_code\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_code\" class=\"fn\">script_code</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the <code>scriptCode</code> of a transaction output.</p>\n<p>The <code>scriptCode</code> is the Script of the previous transaction output being\nserialized in the sighash when evaluating a <code>CHECKSIG</code> & co. OP code.</p>\n<h5 id=\"errors-2\"><a class=\"doc-anchor\" href=\"#errors-2\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction\" class=\"fn\">get_satisfaction</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction_mall\" class=\"fn\">get_satisfaction_mall</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.satisfy\" class=\"fn\">satisfy</a><S>(&self, txin: &mut TxIn, satisfier: S) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\n<code>TxIn</code> output.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pk\" class=\"fn\">new_pk</a>(pk: Pk) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new pk descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pkh\" class=\"fn\">new_pkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new PkH descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wpkh\" class=\"fn\">new_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new Wpkh descriptor\nWill return Err if uncompressed key is used</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wpkh\" class=\"fn\">new_sh_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wpkh from <code>Pk</code>.\nErrors when uncompressed keys are supplied</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh\" class=\"fn\">new_sh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Legacy.html\" title=\"enum bdk_wallet::descriptor::Legacy\">Legacy</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh\" class=\"fn\">new_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh\" class=\"fn\">new_sh_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_bare\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_bare\" class=\"fn\">new_bare</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, BareCtx>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wpkh\" class=\"fn\">new_sh_with_wpkh</a>(wpkh: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wpkh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wsh\" class=\"fn\">new_sh_with_wsh</a>(wsh: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wsh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_sortedmulti\" class=\"fn\">new_sh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh sortedmulti descriptor with threshold <code>k</code>\nand Vec of <code>pks</code>.\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh_sortedmulti\" class=\"fn\">new_sh_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh sortedmulti descriptor from threshold\n<code>k</code> and Vec of <code>pks</code>\nErrors when miniscript exceeds resource limits under segwit context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh_sortedmulti\" class=\"fn\">new_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_tr\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_tr\" class=\"fn\">new_tr</a>(\n key: Pk,\n script: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><TapTree<Pk>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.desc_type\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.desc_type\" class=\"fn\">desc_type</a>(&self) -> DescriptorType</h4></section></summary><div class=\"docblock\"><p>Get the [DescriptorType] of <a href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a></p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.sanity_check\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.sanity_check\" class=\"fn\">sanity_check</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error></h4></section></summary><div class=\"docblock\"><p>Checks whether the descriptor is safe.</p>\n<p>Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.</p>\n<p>In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_weight_to_satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_weight_to_satisfy\" class=\"fn\">max_weight_to_satisfy</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Weight, Error></h4></section></summary><div class=\"docblock\"><p>Computes an upper bound on the difference between a non-satisfied\n<code>TxIn</code>’s <code>segwit_weight</code> and a satisfied <code>TxIn</code>’s <code>segwit_weight</code></p>\n<p>Since this method uses <code>segwit_weight</code> instead of <code>legacy_weight</code>,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s <code>max_weight_to_satisfy</code>\nfor a more accurate estimate.</p>\n<p>In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n );\n}</code></pre></div>\n<p>Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n );\n}</code></pre></div>\n<p>Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_satisfaction_weight\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_satisfaction_weight\" class=\"fn\">max_satisfaction_weight</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>, Error></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.</span></div></span></summary><div class=\"docblock\"><p>Computes an upper bound on the weight of a satisfying witness to the\ntransaction.</p>\n<p>Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a href=\"#impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl DescriptorExt for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.dust_value\" class=\"method trait-impl\"><a href=\"#method.dust_value\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">dust_value</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a></h4></section></summary><div class='docblock'>Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.descriptor_id\" class=\"method trait-impl\"><a href=\"#method.descriptor_id\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">descriptor_id</a>(&self) -> DescriptorId</h4></section></summary><div class='docblock'>Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.</div></details></div></details>","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></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=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.203/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Display-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Display-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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.Display.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<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>></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>","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1080-1158\">source</a><a href=\"#impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"trait\" href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html\" title=\"trait bdk_wallet::descriptor::ExtractPolicy\">ExtractPolicy</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_policy\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1081-1157\">source</a><a href=\"#method.extract_policy\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy\" class=\"fn\">extract_policy</a>(\n &self,\n signers: &<a class=\"struct\" href=\"bdk_wallet/wallet/signer/struct.SignersContainer.html\" title=\"struct bdk_wallet::wallet::signer::SignersContainer\">SignersContainer</a>,\n build_sat: <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.BuildSatisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::BuildSatisfaction\">BuildSatisfaction</a><'_>,\n secp: &Secp256k1<All>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>>, <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>></h4></section></summary><div class='docblock'>Extract the spending <a href=\"bdk_wallet/descriptor/policy/index.html\" title=\"mod bdk_wallet::descriptor::policy\"><code>policy</code></a></div></details></div></details>","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> ForEachKey<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_each_key\" class=\"method trait-impl\"><a href=\"#method.for_each_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_any_key\" class=\"method trait-impl\"><a href=\"#method.for_any_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,\n Pk: 'a,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key</div></details></div></details>","ForEachKey<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Bare<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Bare<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Bare<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Pkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Pkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Pkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Sh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Sh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Sh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Tr<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Tr<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Tr<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wpkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wpkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wsh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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>(inner: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wsh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromStr-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromStr-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Err\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Err\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err\" class=\"associatedtype\">Err</a> = Error</h4></section></summary><div class='docblock'>The associated error which can be returned from parsing.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_str\" class=\"method trait-impl\"><a href=\"#method.from_str\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\" class=\"fn\">from_str</a>(s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class='docblock'>Parses a string <code>s</code> to return a value of this type. <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\">Read more</a></div></details></div></details>","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromTree-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromTree-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> FromTree for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_tree\" class=\"method trait-impl\"><a href=\"#method.from_tree\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">from_tree</a>(top: &Tree<'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Parse an expression tree into a descriptor.</p>\n</div></details></div></details>","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Hash-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> + MiniscriptKey,</div></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><__H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut __H</a>)<div class=\"where\">where\n __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><H>(data: &<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\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n 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>","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> Liftable<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.lift\" class=\"method trait-impl\"><a href=\"#method.lift\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">lift</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Policy<Pk>, Error></h4></section></summary><div class='docblock'>Converts this object into an abstract policy.</div></details></div></details>","Liftable<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Ord-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n 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'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> + MiniscriptKey,</div></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>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <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\nby <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> + MiniscriptKey,</div></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>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><</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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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><=</code>\noperator. <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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>></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>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <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>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Serialize-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></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=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.203/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"impl\"><a href=\"#impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<P, Q> TranslatePk<P, Q> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P><div class=\"where\">where\n P: MiniscriptKey,\n Q: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.translate_pk\" class=\"method trait-impl\"><a href=\"#method.translate_pk\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">translate_pk</a><T, E>(\n &self,\n t: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut T</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P> as TranslatePk<P, Q>>::Output, TranslateErr<E>><div class=\"where\">where\n T: Translator<P, Q, E>,</div></h4></section></summary><div class=\"docblock\"><p>Converts a descriptor using abstract keys to one using specific keys.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a class=\"associatedtype\">Output</a> = <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Q></h4></section></summary><div class='docblock'>The associated output type. This must be <code>Self<Q></code>.</div></details></div></details>","TranslatePk<P, Q>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-Eq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Eq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + MiniscriptKey,</div></h3></section>","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <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=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section>","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]]
};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
(function() {var type_impls = {
-"bdk_chain":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-(T0,+T1)\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#185\">source</a><a href=\"#impl-Append-for-(T0,+T1)\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<T0, T1> <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a> for <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(T0, T1)</a><div class=\"where\">where\n T0: <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a>,\n T1: <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#185\">source</a><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#tymethod.append\" class=\"fn\">append</a>(&mut self, _other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#185\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#125-131\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_chain::keychain::Indexed","bdk_chain::keychain::KeychainIndexed"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBlockId%3E-for-(u32,+BlockHash)\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/chain_data.rs.html#133-137\">source</a><a href=\"#impl-From%3CBlockId%3E-for-(u32,+BlockHash)\" 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><<a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>> for (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, BlockHash)</h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/chain_data.rs.html#134-136\">source</a><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>(block_id: <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<BlockId>","bdk_chain::keychain::Indexed"]],
+"bdk_chain":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Append-for-(T0,+T1)\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#185\">source</a><a href=\"#impl-Append-for-(T0,+T1)\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<T0, T1> <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a> for <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(T0, T1)</a><div class=\"where\">where\n T0: <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a>,\n T1: <a class=\"trait\" href=\"bdk_chain/trait.Append.html\" title=\"trait bdk_chain::Append\">Append</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#185\">source</a><a href=\"#method.append\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#tymethod.append\" class=\"fn\">append</a>(&mut self, _other: Self)</h4></section></summary><div class='docblock'>Append another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#185\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#125-131\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Append.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Append","bdk_chain::Indexed","bdk_chain::KeychainIndexed"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBlockId%3E-for-(u32,+BlockHash)\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/chain_data.rs.html#133-137\">source</a><a href=\"#impl-From%3CBlockId%3E-for-(u32,+BlockHash)\" 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><<a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>> for (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, BlockHash)</h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/chain_data.rs.html#134-136\">source</a><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>(block_id: <a class=\"struct\" href=\"bdk_chain/struct.BlockId.html\" title=\"struct bdk_chain::BlockId\">BlockId</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<BlockId>","bdk_chain::Indexed"]],
"bdk_wallet":[],
"example_bitcoind_rpc_polling":[],
"example_cli":[],