<!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 for `bdk_file_store`’s implementation of `WalletPersister`."><title>FileStoreError in bdk_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-beta.2</span></h2></div><h2 class="location"><a href="#">FileStoreError</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Load">Load</a></li><li><a href="#variant.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-FileStoreError">Debug</a></li><li><a href="#impl-Display-for-FileStoreError">Display</a></li><li><a href="#impl-Error-for-FileStoreError">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-FileStoreError">!Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-FileStoreError">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-FileStoreError">!UnwindSafe</a></li><li><a href="#impl-Send-for-FileStoreError">Send</a></li><li><a href="#impl-Sync-for-FileStoreError">Sync</a></li><li><a href="#impl-Unpin-for-FileStoreError">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-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_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 class="enum" href="#">FileStoreError</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/persisted.rs.html#292-297">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub enum FileStoreError {
- Load(AggregateChangesetsError<<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>>),
+ Load(<a class="struct" href="../bdk_file_store/store/struct.AggregateChangesetsError.html" title="struct bdk_file_store::store::AggregateChangesetsError">AggregateChangesetsError</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>>),
Write(<a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>),
-}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Error for [<code>bdk_file_store</code>]’s implementation of <a href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister"><code>WalletPersister</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.Load" class="variant"><a href="#variant.Load" class="anchor">§</a><h3 class="code-header">Load(AggregateChangesetsError<<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>>)</h3></section><div class="docblock"><p>Error when loading from the store.</p>
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Error for <a href="../bdk_file_store/index.html" title="mod bdk_file_store"><code>bdk_file_store</code></a>’s implementation of <a href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister"><code>WalletPersister</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.Load" class="variant"><a href="#variant.Load" class="anchor">§</a><h3 class="code-header">Load(<a class="struct" href="../bdk_file_store/store/struct.AggregateChangesetsError.html" title="struct bdk_file_store::store::AggregateChangesetsError">AggregateChangesetsError</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>>)</h3></section><div class="docblock"><p>Error when loading from the store.</p>
</div><section id="variant.Write" class="variant"><a href="#variant.Write" class="anchor">§</a><h3 class="code-header">Write(<a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>)</h3></section><div class="docblock"><p>Error when writing to the store.</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-FileStoreError" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#291">source</a><a href="#impl-Debug-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</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/persisted.rs.html#291">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-FileStoreError" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#300-308">source</a><a href="#impl-Display-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</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_wallet/wallet/persisted.rs.html#301-307">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-FileStoreError" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#311">source</a><a href="#impl-Error-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</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></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-FileStoreError" class="impl"><a href="#impl-Freeze-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h3></section><section id="impl-RefUnwindSafe-for-FileStoreError" class="impl"><a href="#impl-RefUnwindSafe-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h3></section><section id="impl-Send-for-FileStoreError" class="impl"><a href="#impl-Send-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h3></section><section id="impl-Sync-for-FileStoreError" class="impl"><a href="#impl-Sync-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h3></section><section id="impl-Unpin-for-FileStoreError" class="impl"><a href="#impl-Unpin-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h3></section><section id="impl-UnwindSafe-for-FileStoreError" class="impl"><a href="#impl-UnwindSafe-for-FileStoreError" 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.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</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
-<!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="Deterministically generate a unique name given the descriptors defining the wallet"><title>wallet_name_from_descriptor in bdk_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 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><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-beta.2</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">bdk_wallet</a>::<wbr><a class="fn" href="#">wallet_name_from_descriptor</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#2549-2573">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn wallet_name_from_descriptor<T>(
+<!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="Deterministically generate a unique name given the descriptors defining the wallet"><title>wallet_name_from_descriptor in bdk_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 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><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-beta.2</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">bdk_wallet</a>::<wbr><a class="fn" href="#">wallet_name_from_descriptor</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#2552-2576">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn wallet_name_from_descriptor<T>(
descriptor: T,
change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T>,
network: Network,
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 bdk_chain as chain;</code></div></li><li><div class="item-name"><code>pub extern crate bdk_file_store as file_store;</code></div></li><li><div class="item-name"><code>pub extern crate miniscript;</code></div></li><li><div class="item-name"><code>pub extern crate <a class="mod" href="https://docs.rs/serde/1.0.210/serde/index.html" title="mod serde">serde</a>;</code></div></li><li><div class="item-name"><code>pub extern crate <a class="mod" href="https://docs.rs/serde_json/1.0.128/serde_json/index.html" title="mod serde_json">serde_json</a>;</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 <a class="mod" href="signer/index.html" title="mod bdk_wallet::signer">signer</a>;</code></div></li><li><div class="item-name" id="reexport.rusqlite"><code>pub use bdk_chain::rusqlite;</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="coin_selection/index.html" title="mod bdk_wallet::coin_selection">coin_selection</a></div><div class="desc docblock-short">Coin selection</div></li><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="error/index.html" title="mod bdk_wallet::error">error</a></div><div class="desc docblock-short">Errors that can be thrown by the <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a></div></li><li><div class="item-name"><a class="mod" href="export/index.html" title="mod bdk_wallet::export">export</a></div><div class="desc docblock-short">Wallet export</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="rusqlite_impl/index.html" title="mod bdk_wallet::rusqlite_impl">rusqlite_impl</a></div><div class="desc docblock-short">Module for stuff</div></li><li><div class="item-name"><a class="mod" href="signer/index.html" title="mod bdk_wallet::signer">signer</a></div><div class="desc docblock-short">Generalized signers</div></li><li><div class="item-name"><a class="mod" href="tx_builder/index.html" title="mod bdk_wallet::tx_builder">tx_builder</a></div><div class="desc docblock-short">Transaction builder</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.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></div><div class="desc docblock-short">A derived address and the index it was found at.
-For convenience this automatically derefs to <code>Address</code></div></li><li><div class="item-name"><a class="struct" href="struct.Balance.html" title="struct bdk_wallet::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_wallet::ChangeSet">ChangeSet</a></div><div class="desc docblock-short">A changeset for <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.CreateParams.html" title="struct bdk_wallet::CreateParams">CreateParams</a></div><div class="desc docblock-short">Parameters for <a href="struct.Wallet.html#method.create" title="associated function bdk_wallet::Wallet::create"><code>Wallet::create</code></a> or <a href="struct.PersistedWallet.html#method.create" title="associated function bdk_wallet::PersistedWallet::create"><code>PersistedWallet::create</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams">LoadParams</a></div><div class="desc docblock-short">Parameters for <a href="struct.Wallet.html#method.load" title="associated function bdk_wallet::Wallet::load"><code>Wallet::load</code></a> or <a href="struct.PersistedWallet.html#method.load" title="associated function bdk_wallet::PersistedWallet::load"><code>PersistedWallet::load</code></a>.</div></li><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="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.PersistedWallet.html" title="struct bdk_wallet::PersistedWallet">PersistedWallet</a></div><div class="desc docblock-short">Represents a persisted wallet which persists into type <code>P</code>.</div></li><li><div class="item-name"><a class="struct" href="struct.SignOptions.html" title="struct bdk_wallet::SignOptions">SignOptions</a></div><div class="desc docblock-short">Options for a software signer</div></li><li><div class="item-name"><a class="struct" href="struct.TxBuilder.html" title="struct bdk_wallet::TxBuilder">TxBuilder</a></div><div class="desc docblock-short">A transaction builder</div></li><li><div class="item-name"><a class="struct" href="struct.Update.html" title="struct bdk_wallet::Update">Update</a></div><div class="desc docblock-short">An update to <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::Wallet">Wallet</a></div><div class="desc docblock-short">A Bitcoin wallet</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.AddForeignUtxoError.html" title="enum bdk_wallet::AddForeignUtxoError">AddForeignUtxoError</a></div><div class="desc docblock-short">Error returned from <a href="tx_builder/struct.TxBuilder.html#method.add_foreign_utxo" title="method bdk_wallet::tx_builder::TxBuilder::add_foreign_utxo"><code>TxBuilder::add_foreign_utxo</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.AddUtxoError.html" title="enum bdk_wallet::AddUtxoError">AddUtxoError</a></div><div class="desc docblock-short">Error returned from <a href="tx_builder/struct.TxBuilder.html#method.add_utxo" title="method bdk_wallet::tx_builder::TxBuilder::add_utxo"><code>TxBuilder::add_utxo</code></a> and <a href="tx_builder/struct.TxBuilder.html#method.add_utxos" title="method bdk_wallet::tx_builder::TxBuilder::add_utxos"><code>TxBuilder::add_utxos</code></a></div></li><li><div class="item-name"><a class="enum" href="enum.ApplyBlockError.html" title="enum bdk_wallet::ApplyBlockError">ApplyBlockError</a></div><div class="desc docblock-short">An error that may occur when applying a block to <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.ChangeSpendPolicy.html" title="enum bdk_wallet::ChangeSpendPolicy">ChangeSpendPolicy</a></div><div class="desc docblock-short">Policy regarding the use of change outputs when creating a transaction</div></li><li><div class="item-name"><a class="enum" href="enum.CreateWithPersistError.html" title="enum bdk_wallet::CreateWithPersistError">CreateWithPersistError</a></div><div class="desc docblock-short">Error type for <a href="struct.PersistedWallet.html#method.create" title="associated function bdk_wallet::PersistedWallet::create"><code>PersistedWallet::create</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></div><div class="desc docblock-short">Error for [<code>bdk_file_store</code>]’s implementation of <a href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister"><code>WalletPersister</code></a>.</div></li><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.LoadError.html" title="enum bdk_wallet::LoadError">LoadError</a></div><div class="desc docblock-short">The error type when loading a <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> from a <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.LoadMismatch.html" title="enum bdk_wallet::LoadMismatch">LoadMismatch</a></div><div class="desc docblock-short">Represents a mismatch with what is loaded and what is expected from <a href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams"><code>LoadParams</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.LoadWithPersistError.html" title="enum bdk_wallet::LoadWithPersistError">LoadWithPersistError</a></div><div class="desc docblock-short">Error type for <a href="struct.PersistedWallet.html#method.load" title="associated function bdk_wallet::PersistedWallet::load"><code>PersistedWallet::load</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.TxOrdering.html" title="enum bdk_wallet::TxOrdering">TxOrdering</a></div><div class="desc docblock-short">Ordering of the transaction’s inputs and outputs</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="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.AsyncWalletPersister.html" title="trait bdk_wallet::AsyncWalletPersister">AsyncWalletPersister</a></div><div class="desc docblock-short">Async trait that persists <a href="struct.PersistedWallet.html" title="struct bdk_wallet::PersistedWallet"><code>PersistedWallet</code></a>.</div></li><li><div class="item-name"><a class="trait" href="trait.IsDust.html" title="trait bdk_wallet::IsDust">IsDust</a></div><div class="desc docblock-short">Trait to check if a value is below the dust limit.
+</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 bdk_chain as chain;</code></div></li><li><div class="item-name"><code>pub extern crate <a class="mod" href="../bdk_file_store/index.html" title="mod bdk_file_store">bdk_file_store</a> as file_store;</code></div></li><li><div class="item-name"><code>pub extern crate miniscript;</code></div></li><li><div class="item-name"><code>pub extern crate <a class="mod" href="https://docs.rs/serde/1.0.210/serde/index.html" title="mod serde">serde</a>;</code></div></li><li><div class="item-name"><code>pub extern crate <a class="mod" href="https://docs.rs/serde_json/1.0.128/serde_json/index.html" title="mod serde_json">serde_json</a>;</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 <a class="mod" href="signer/index.html" title="mod bdk_wallet::signer">signer</a>;</code></div></li><li><div class="item-name" id="reexport.rusqlite"><code>pub use bdk_chain::rusqlite;</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="coin_selection/index.html" title="mod bdk_wallet::coin_selection">coin_selection</a></div><div class="desc docblock-short">Coin selection</div></li><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="error/index.html" title="mod bdk_wallet::error">error</a></div><div class="desc docblock-short">Errors that can be thrown by the <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a></div></li><li><div class="item-name"><a class="mod" href="export/index.html" title="mod bdk_wallet::export">export</a></div><div class="desc docblock-short">Wallet export</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="rusqlite_impl/index.html" title="mod bdk_wallet::rusqlite_impl">rusqlite_impl</a></div><div class="desc docblock-short">Module for stuff</div></li><li><div class="item-name"><a class="mod" href="signer/index.html" title="mod bdk_wallet::signer">signer</a></div><div class="desc docblock-short">Generalized signers</div></li><li><div class="item-name"><a class="mod" href="tx_builder/index.html" title="mod bdk_wallet::tx_builder">tx_builder</a></div><div class="desc docblock-short">Transaction builder</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.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></div><div class="desc docblock-short">A derived address and the index it was found at.
+For convenience this automatically derefs to <code>Address</code></div></li><li><div class="item-name"><a class="struct" href="struct.Balance.html" title="struct bdk_wallet::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_wallet::ChangeSet">ChangeSet</a></div><div class="desc docblock-short">A changeset for <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.CreateParams.html" title="struct bdk_wallet::CreateParams">CreateParams</a></div><div class="desc docblock-short">Parameters for <a href="struct.Wallet.html#method.create" title="associated function bdk_wallet::Wallet::create"><code>Wallet::create</code></a> or <a href="struct.PersistedWallet.html#method.create" title="associated function bdk_wallet::PersistedWallet::create"><code>PersistedWallet::create</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams">LoadParams</a></div><div class="desc docblock-short">Parameters for <a href="struct.Wallet.html#method.load" title="associated function bdk_wallet::Wallet::load"><code>Wallet::load</code></a> or <a href="struct.PersistedWallet.html#method.load" title="associated function bdk_wallet::PersistedWallet::load"><code>PersistedWallet::load</code></a>.</div></li><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="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.PersistedWallet.html" title="struct bdk_wallet::PersistedWallet">PersistedWallet</a></div><div class="desc docblock-short">Represents a persisted wallet which persists into type <code>P</code>.</div></li><li><div class="item-name"><a class="struct" href="struct.SignOptions.html" title="struct bdk_wallet::SignOptions">SignOptions</a></div><div class="desc docblock-short">Options for a software signer</div></li><li><div class="item-name"><a class="struct" href="struct.TxBuilder.html" title="struct bdk_wallet::TxBuilder">TxBuilder</a></div><div class="desc docblock-short">A transaction builder</div></li><li><div class="item-name"><a class="struct" href="struct.Update.html" title="struct bdk_wallet::Update">Update</a></div><div class="desc docblock-short">An update to <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::Wallet">Wallet</a></div><div class="desc docblock-short">A Bitcoin wallet</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.AddForeignUtxoError.html" title="enum bdk_wallet::AddForeignUtxoError">AddForeignUtxoError</a></div><div class="desc docblock-short">Error returned from <a href="tx_builder/struct.TxBuilder.html#method.add_foreign_utxo" title="method bdk_wallet::tx_builder::TxBuilder::add_foreign_utxo"><code>TxBuilder::add_foreign_utxo</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.AddUtxoError.html" title="enum bdk_wallet::AddUtxoError">AddUtxoError</a></div><div class="desc docblock-short">Error returned from <a href="tx_builder/struct.TxBuilder.html#method.add_utxo" title="method bdk_wallet::tx_builder::TxBuilder::add_utxo"><code>TxBuilder::add_utxo</code></a> and <a href="tx_builder/struct.TxBuilder.html#method.add_utxos" title="method bdk_wallet::tx_builder::TxBuilder::add_utxos"><code>TxBuilder::add_utxos</code></a></div></li><li><div class="item-name"><a class="enum" href="enum.ApplyBlockError.html" title="enum bdk_wallet::ApplyBlockError">ApplyBlockError</a></div><div class="desc docblock-short">An error that may occur when applying a block to <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.ChangeSpendPolicy.html" title="enum bdk_wallet::ChangeSpendPolicy">ChangeSpendPolicy</a></div><div class="desc docblock-short">Policy regarding the use of change outputs when creating a transaction</div></li><li><div class="item-name"><a class="enum" href="enum.CreateWithPersistError.html" title="enum bdk_wallet::CreateWithPersistError">CreateWithPersistError</a></div><div class="desc docblock-short">Error type for <a href="struct.PersistedWallet.html#method.create" title="associated function bdk_wallet::PersistedWallet::create"><code>PersistedWallet::create</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></div><div class="desc docblock-short">Error for <a href="../bdk_file_store/index.html" title="mod bdk_file_store"><code>bdk_file_store</code></a>’s implementation of <a href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister"><code>WalletPersister</code></a>.</div></li><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.LoadError.html" title="enum bdk_wallet::LoadError">LoadError</a></div><div class="desc docblock-short">The error type when loading a <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> from a <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.LoadMismatch.html" title="enum bdk_wallet::LoadMismatch">LoadMismatch</a></div><div class="desc docblock-short">Represents a mismatch with what is loaded and what is expected from <a href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams"><code>LoadParams</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.LoadWithPersistError.html" title="enum bdk_wallet::LoadWithPersistError">LoadWithPersistError</a></div><div class="desc docblock-short">Error type for <a href="struct.PersistedWallet.html#method.load" title="associated function bdk_wallet::PersistedWallet::load"><code>PersistedWallet::load</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.TxOrdering.html" title="enum bdk_wallet::TxOrdering">TxOrdering</a></div><div class="desc docblock-short">Ordering of the transaction’s inputs and outputs</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="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.AsyncWalletPersister.html" title="trait bdk_wallet::AsyncWalletPersister">AsyncWalletPersister</a></div><div class="desc docblock-short">Async trait that persists <a href="struct.PersistedWallet.html" title="struct bdk_wallet::PersistedWallet"><code>PersistedWallet</code></a>.</div></li><li><div class="item-name"><a class="trait" href="trait.IsDust.html" title="trait bdk_wallet::IsDust">IsDust</a></div><div class="desc docblock-short">Trait to check if a value is below the dust limit.
We are performing dust value calculation for a given script public key using rust-bitcoin to
keep it compatible with network dust rate</div></li><li><div class="item-name"><a class="trait" href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister">WalletPersister</a></div><div class="desc docblock-short">Trait that persists <a href="struct.PersistedWallet.html" title="struct bdk_wallet::PersistedWallet"><code>PersistedWallet</code></a>.</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 <a href="index.html" title="mod bdk_wallet"><code>bdk_wallet</code></a> at runtime.</div></li><li><div class="item-name"><a class="fn" href="fn.wallet_name_from_descriptor.html" title="fn bdk_wallet::wallet_name_from_descriptor">wallet_name_from_descriptor</a></div><div class="desc docblock-short">Deterministically generate a unique name given the descriptors defining the wallet</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.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a></div><div class="desc docblock-short">A <code>CanonicalTx</code> managed by a <code>Wallet</code>.</div></li></ul></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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, P::<a class="associatedtype" href="trait.AsyncWalletPersister.html#associatedtype.Error" title="type bdk_wallet::AsyncWalletPersister::Error">Error</a>></h4></section></summary><div class="docblock"><p>Persist staged changes of wallet into an async <code>persister</code>.</p>
<p>Returns whether any new changes were persisted.</p>
<p>If the <code>persister</code> errors, the staged changes will not be cleared.</p>
-</div></details></div></details></div><h2 id="deref-methods-Wallet" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = <a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::Wallet">Wallet</a>></span><a href="#deref-methods-Wallet" class="anchor">§</a></h2><div id="deref-methods-Wallet-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.network" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#626-628">source</a><h4 class="code-header">pub fn <a href="#method.network" class="fn">network</a>(&self) -> Network</h4></section></summary><div class="docblock"><p>Get the Bitcoin network the wallet is using.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.keychains" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#631-633">source</a><h4 class="code-header">pub fn <a href="#method.keychains" class="fn">keychains</a>(
+</div></details></div></details></div><h2 id="deref-methods-Wallet" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = <a class="struct" href="struct.Wallet.html" title="struct bdk_wallet::Wallet">Wallet</a>></span><a href="#deref-methods-Wallet" class="anchor">§</a></h2><div id="deref-methods-Wallet-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.network" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#629-631">source</a><h4 class="code-header">pub fn <a href="#method.network" class="fn">network</a>(&self) -> Network</h4></section></summary><div class="docblock"><p>Get the Bitcoin network the wallet is using.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keychains" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#634-636">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/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, &<a class="type" href="descriptor/type.ExtendedDescriptor.html" title="type bdk_wallet::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>)></h4></section></summary><div class="docblock"><p>Iterator over all keychains in this wallet</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.peek_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#643-662">source</a><h4 class="code-header">pub fn <a href="#method.peek_address" class="fn">peek_address</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Peek an address of the given <code>keychain</code> at <code>index</code> without revealing it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.peek_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#646-665">source</a><h4 class="code-header">pub fn <a href="#method.peek_address" class="fn">peek_address</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Peek an address of the given <code>keychain</code> at <code>index</code> without revealing it.</p>
<p>For non-wildcard descriptors this returns the same address at every provided index.</p>
<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
<p>This panics when the caller requests for an address of derivation index greater than the
<a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a> max index.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_next_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#689-706">source</a><h4 class="code-header">pub fn <a href="#method.reveal_next_address" class="fn">reveal_next_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Attempt to reveal the next address of the given <code>keychain</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_next_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#692-709">source</a><h4 class="code-header">pub fn <a href="#method.reveal_next_address" class="fn">reveal_next_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Attempt to reveal the next address of the given <code>keychain</code>.</p>
<p>This will increment the keychain’s derivation index. If the keychain’s descriptor doesn’t
contain a wildcard or every address is already revealed up to the maximum derivation
index defined in <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a>,
<span class="comment">// Now it's safe to show the user their next address!
</span><span class="macro">println!</span>(<span class="string">"Next address: {}"</span>, next_address.address);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_addresses_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#717-736">source</a><h4 class="code-header">pub fn <a href="#method.reveal_addresses_to" class="fn">reveal_addresses_to</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_addresses_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#720-739">source</a><h4 class="code-header">pub fn <a href="#method.reveal_addresses_to" class="fn">reveal_addresses_to</a>(
&mut self,
keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>,
index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
no new addresses are returned.</p>
<p><strong>WARNING</strong>: To avoid address reuse you must persist the changes resulting from one or more
calls to this method before closing the wallet. See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.next_unused_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#746-763">source</a><h4 class="code-header">pub fn <a href="#method.next_unused_address" class="fn">next_unused_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Get the next unused address for the given <code>keychain</code>, i.e. the address with the lowest
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next_unused_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#749-766">source</a><h4 class="code-header">pub fn <a href="#method.next_unused_address" class="fn">next_unused_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Get the next unused address for the given <code>keychain</code>, i.e. the address with the lowest
derivation index that hasn’t been used.</p>
<p>This will attempt to derive and reveal a new address if no newly revealed addresses
are available. See also <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::Wallet::reveal_next_address"><code>reveal_next_address</code></a>.</p>
<p><strong>WARNING</strong>: To avoid address reuse you must persist the changes resulting from one or more
calls to this method before closing the wallet. See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.mark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#768-770">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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 an address used of the given <code>keychain</code> at <code>index</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#771-773">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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 an address used of the given <code>keychain</code> at <code>index</code>.</p>
<p>Returns whether the given index was present and then removed from the unused set.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#780-782">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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.Wallet.html#method.mark_used" title="method bdk_wallet::Wallet::mark_used"><code>mark_used</code></a> and returns whether the <code>index</code> was inserted
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#783-785">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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.Wallet.html#method.mark_used" title="method bdk_wallet::Wallet::mark_used"><code>mark_used</code></a> and returns whether the <code>index</code> was inserted
back into the unused set.</p>
<p>Since this is only a superficial marker, it will have no effect if the address at the given
<code>index</code> was actually used, i.e. the wallet has previously indexed a tx output for the
derived spk.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.list_unused_addresses" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#789-802">source</a><h4 class="code-header">pub fn <a href="#method.list_unused_addresses" class="fn">list_unused_addresses</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.list_unused_addresses" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#792-805">source</a><h4 class="code-header">pub fn <a href="#method.list_unused_addresses" class="fn">list_unused_addresses</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/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a>> + '_</h4></section></summary><div class="docblock"><p>List addresses that are revealed but unused.</p>
<p>Note if the returned iterator is empty you can reveal more addresses
by using <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::Wallet::reveal_next_address"><code>reveal_next_address</code></a> or
<a href="struct.Wallet.html#method.reveal_addresses_to" title="method bdk_wallet::Wallet::reveal_addresses_to"><code>reveal_addresses_to</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_mine" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#805-807">source</a><h4 class="code-header">pub fn <a href="#method.is_mine" class="fn">is_mine</a>(&self, script: ScriptBuf) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return whether or not a <code>script</code> is part of this wallet (either internal or external)</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_of_spk" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#812-814">source</a><h4 class="code-header">pub fn <a href="#method.derivation_of_spk" class="fn">derivation_of_spk</a>(&self, spk: ScriptBuf) -> <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.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>)></h4></section></summary><div class="docblock"><p>Finds how the wallet derived the script pubkey <code>spk</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_mine" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#808-810">source</a><h4 class="code-header">pub fn <a href="#method.is_mine" class="fn">is_mine</a>(&self, script: ScriptBuf) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return whether or not a <code>script</code> is part of this wallet (either internal or external)</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_of_spk" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#815-817">source</a><h4 class="code-header">pub fn <a href="#method.derivation_of_spk" class="fn">derivation_of_spk</a>(&self, spk: ScriptBuf) -> <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.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>)></h4></section></summary><div class="docblock"><p>Finds how the wallet derived the script pubkey <code>spk</code>.</p>
<p>Will only return <code>Some(_)</code> if the wallet has given out the spk.</p>
-</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#817-826">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#831-840">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>
+</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#820-829">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#834-843">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::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#843-845">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#848-850">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#860-864">source</a><h4 class="code-header">pub fn <a href="#method.all_unbounded_spk_iters" class="fn">all_unbounded_spk_iters</a>(
+</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#846-848">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#851-853">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#863-867">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 = 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
electrum server) which will go through each address until it reaches a <em>stop gap</em>.</p>
<p>Note carefully that iterators go over <strong>all</strong> script pubkeys on the keychains (not what
script pubkeys the wallet is storing internally).</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#871-879">source</a><h4 class="code-header">pub fn <a href="#method.unbounded_spk_iter" class="fn">unbounded_spk_iter</a>(
+</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#874-882">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 = 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::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#883-894">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
+</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#886-897">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.insert_txout" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#913-916">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(&mut self, outpoint: OutPoint, txout: TxOut)</h4></section></summary><div class="docblock"><p>Inserts a [<code>TxOut</code>] at [<code>OutPoint</code>] into the wallet’s transaction graph.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_txout" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#916-919">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(&mut self, outpoint: OutPoint, txout: TxOut)</h4></section></summary><div class="docblock"><p>Inserts a [<code>TxOut</code>] at [<code>OutPoint</code>] into the wallet’s transaction graph.</p>
<p>This is used for providing a previous output’s value so that we can use <a href="struct.Wallet.html#method.calculate_fee" title="method bdk_wallet::Wallet::calculate_fee"><code>calculate_fee</code></a>
or <a href="struct.Wallet.html#method.calculate_fee_rate" title="method bdk_wallet::Wallet::calculate_fee_rate"><code>calculate_fee_rate</code></a> on a given transaction. Outputs inserted with this method will
not be returned in <a href="struct.Wallet.html#method.list_unspent" title="method bdk_wallet::Wallet::list_unspent"><code>list_unspent</code></a> or <a href="struct.Wallet.html#method.list_output" title="method bdk_wallet::Wallet::list_output"><code>list_output</code></a>.</p>
<p>You must persist the changes resulting from one or more calls to this method if you need
the inserted <code>TxOut</code> data to be reloaded after closing the wallet.
See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.calculate_fee" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#945-947">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_wallet/wallet/mod.rs.html#948-950">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, 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>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>tx = <span class="kw-2">&</span>psbt.clone().extract_tx().expect(<span class="string">"tx"</span>);
<span class="kw">let </span>fee = wallet.calculate_fee(tx).expect(<span class="string">"fee"</span>);</code></pre></div>
-</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#976-978">source</a><h4 class="code-header">pub fn <a href="#method.calculate_fee_rate" class="fn">calculate_fee_rate</a>(
+</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#979-981">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, CalculateFeeError></h4></section></summary><div class="docblock"><p>Calculate the [<code>FeeRate</code>] for a given transaction.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>tx = <span class="kw-2">&</span>psbt.clone().extract_tx().expect(<span class="string">"tx"</span>);
<span class="kw">let </span>fee_rate = wallet.calculate_fee_rate(tx).expect(<span class="string">"fee rate"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.sent_and_received" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1005-1007">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(&self, tx: &Transaction) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Compute the <code>tx</code>’s sent and received [<code>Amount</code>]s.</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_wallet/wallet/mod.rs.html#1008-1010">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(&self, tx: &Transaction) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Compute the <code>tx</code>’s sent and received [<code>Amount</code>]s.</p>
<p>This method returns a tuple <code>(sent, received)</code>. Sent is the sum of the txin amounts
that spend from previous txouts tracked by this wallet. Received is the summation
of this tx’s outputs that send to script pubkeys tracked by this wallet.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>tx = <span class="kw-2">&</span>psbt.clone().extract_tx().expect(<span class="string">"tx"</span>);
<span class="kw">let </span>(sent, received) = wallet.sent_and_received(tx);</code></pre></div>
-</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#1052-1063">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>></h4></section></summary><div class="docblock"><p>Get a single transaction from the wallet as a <a href="type.WalletTx.html" title="type bdk_wallet::WalletTx"><code>WalletTx</code></a> (if the transaction exists).</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#1055-1066">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>></h4></section></summary><div class="docblock"><p>Get a single transaction from the wallet as a <a href="type.WalletTx.html" title="type bdk_wallet::WalletTx"><code>WalletTx</code></a> (if the transaction exists).</p>
<p><code>WalletTx</code> contains the full transaction alongside meta-data such as:</p>
<ul>
<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
last_seen,
),
}</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#1075-1083">source</a><h4 class="code-header">pub fn <a href="#method.insert_checkpoint" class="fn">insert_checkpoint</a>(
+</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#1078-1086">source</a><h4 class="code-header">pub fn <a href="#method.insert_checkpoint" class="fn">insert_checkpoint</a>(
&mut self,
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><strong>WARNING</strong>: You must persist the changes resulting from one or more calls to this method
if you need the inserted checkpoint data to be reloaded after closing the wallet.
See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.insert_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1097-1103">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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Add a transaction to the wallet’s internal view of the chain. This stages the change,
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1100-1106">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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Add a transaction to the wallet’s internal view of the chain. This stages the change,
you must persist it later.</p>
<p>This method inserts the given <code>tx</code> and returns whether anything changed after insertion,
which will be false if the same transaction already exists in the wallet’s transaction
<p>By default the inserted <code>tx</code> won’t be considered “canonical” because it’s not known
whether the transaction exists in the best chain. To know whether it exists, the tx
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#1106-1110">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>> + '_</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.transactions_sort_by" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1124-1131">source</a><h4 class="code-header">pub fn <a href="#method.transactions_sort_by" class="fn">transactions_sort_by</a><F>(&self, compare: F) -> <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.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>><div class="where">where
+</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#1109-1113">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>> + '_</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.transactions_sort_by" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1127-1134">source</a><h4 class="code-header">pub fn <a href="#method.transactions_sort_by" class="fn">transactions_sort_by</a><F>(&self, compare: F) -> <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.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>><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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>, &<a class="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class="docblock"><p>Array of transactions in the wallet sorted with a comparator function.</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">// Transactions by chain position: first unconfirmed then descending by confirmed height.
</span><span class="kw">let </span>sorted_txs: Vec<WalletTx> =
wallet.transactions_sort_by(|tx1, tx2| tx2.chain_position.cmp(<span class="kw-2">&</span>tx1.chain_position));</code></pre></div>
-</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#1135-1142">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::Balance">Balance</a></h4></section></summary><div class="docblock"><p>Return the balance, separated into available, trusted-pending, untrusted-pending and immature
+</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#1138-1145">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::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#1147-1159">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.add_signer" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1150-1162">source</a><h4 class="code-header">pub fn <a href="#method.add_signer" class="fn">add_signer</a>(
&mut self,
keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>,
ordering: <a class="struct" href="signer/struct.SignerOrdering.html" title="struct bdk_wallet::signer::SignerOrdering">SignerOrdering</a>,
signer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="signer/trait.TransactionSigner.html" title="trait bdk_wallet::signer::TransactionSigner">TransactionSigner</a>>
)</h4></section></summary><div class="docblock"><p>Add an external signer</p>
<p>See <a href="signer/index.html" title="mod bdk_wallet::signer">the <code>signer</code> module</a> for an example.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymap" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1165-1173">source</a><h4 class="code-header">pub fn <a href="#method.set_keymap" class="fn">set_keymap</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, keymap: <a class="type" href="keys/type.KeyMap.html" title="type bdk_wallet::keys::KeyMap">KeyMap</a>)</h4></section></summary><div class="docblock"><p>Set the keymap for a given keychain.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymap" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1168-1176">source</a><h4 class="code-header">pub fn <a href="#method.set_keymap" class="fn">set_keymap</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, keymap: <a class="type" href="keys/type.KeyMap.html" title="type bdk_wallet::keys::KeyMap">KeyMap</a>)</h4></section></summary><div class="docblock"><p>Set the keymap for a given keychain.</p>
<p>Note this does nothing if the given keychain has no descriptor because we won’t
know the context (segwit, taproot, etc) in which to create signatures.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymaps" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1176-1180">source</a><h4 class="code-header">pub fn <a href="#method.set_keymaps" class="fn">set_keymaps</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymaps" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1179-1183">source</a><h4 class="code-header">pub fn <a href="#method.set_keymaps" class="fn">set_keymaps</a>(
&mut self,
keymaps: 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 class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, <a class="type" href="keys/type.KeyMap.html" title="type bdk_wallet::keys::KeyMap">KeyMap</a>)>
)</h4></section></summary><div class="docblock"><p>Set the keymap for each keychain.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_signers" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1201-1206">source</a><h4 class="code-header">pub fn <a href="#method.get_signers" class="fn">get_signers</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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="signer/struct.SignersContainer.html" title="struct bdk_wallet::signer::SignersContainer">SignersContainer</a>></h4></section></summary><div class="docblock"><p>Get the signers</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_signers" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1204-1209">source</a><h4 class="code-header">pub fn <a href="#method.get_signers" class="fn">get_signers</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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="signer/struct.SignersContainer.html" title="struct bdk_wallet::signer::SignersContainer">SignersContainer</a>></h4></section></summary><div class="docblock"><p>Get the signers</p>
<h6 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h6>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>descriptor = <span class="string">"wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/1'/0'/0/*)"</span>;
<span class="kw">let </span>change_descriptor = <span class="string">"wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/1'/0'/1/*)"</span>;
}
<span class="prelude-val">Ok</span>::<(), Box<<span class="kw">dyn </span>std::error::Error>>(())</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1236-1242">source</a><h4 class="code-header">pub fn <a href="#method.build_tx" class="fn">build_tx</a>(&mut self) -> <a class="struct" href="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder">TxBuilder</a><'_, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk_wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>></h4></section></summary><div class="docblock"><p>Start building a transaction.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1239-1245">source</a><h4 class="code-header">pub fn <a href="#method.build_tx" class="fn">build_tx</a>(&mut self) -> <a class="struct" href="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder">TxBuilder</a><'_, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk_wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>></h4></section></summary><div class="docblock"><p>Start building a transaction.</p>
<p>This returns a blank <a href="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder"><code>TxBuilder</code></a> from which you can specify the parameters for the transaction.</p>
<h6 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example</h6>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>psbt = {
</span>};
<span class="comment">// sign and broadcast ...</span></code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build_fee_bump" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1648-1781">source</a><h4 class="code-header">pub fn <a href="#method.build_fee_bump" class="fn">build_fee_bump</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build_fee_bump" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1651-1784">source</a><h4 class="code-header">pub fn <a href="#method.build_fee_bump" class="fn">build_fee_bump</a>(
&mut 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="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder">TxBuilder</a><'_, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk_wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>>, <a class="enum" href="error/enum.BuildFeeBumpError.html" title="enum bdk_wallet::error::BuildFeeBumpError">BuildFeeBumpError</a>></h4></section></summary><div class="docblock"><p>Bump the fee of a transaction previously created with this wallet.</p>
<span class="kw">let _ </span>= wallet.sign(<span class="kw-2">&mut </span>psbt, SignOptions::default())<span class="question-mark">?</span>;
<span class="kw">let </span>fee_bumped_tx = psbt.extract_tx();
<span class="comment">// broadcast fee_bumped_tx to replace original</span></code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.sign" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1810-1857">source</a><h4 class="code-header">pub fn <a href="#method.sign" class="fn">sign</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.sign" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1813-1860">source</a><h4 class="code-header">pub fn <a href="#method.sign" class="fn">sign</a>(
&self,
psbt: &mut Psbt,
sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk_wallet::signer::SignOptions">SignOptions</a>
</span>};
<span class="kw">let </span>finalized = wallet.sign(<span class="kw-2">&mut </span>psbt, SignOptions::default())<span class="question-mark">?</span>;
<span class="macro">assert!</span>(finalized, <span class="string">"we should have signed all the inputs"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.policies" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1860-1871">source</a><h4 class="code-header">pub fn <a href="#method.policies" class="fn">policies</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.policies" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1863-1874">source</a><h4 class="code-header">pub fn <a href="#method.policies" class="fn">policies</a>(
&self,
keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</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="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="descriptor/policy/struct.Policy.html" title="struct bdk_wallet::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="descriptor/error/enum.Error.html" title="enum bdk_wallet::descriptor::error::Error">DescriptorError</a>></h4></section></summary><div class="docblock"><p>Return the spending policies for the wallet’s descriptor</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.public_descriptor" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1878-1883">source</a><h4 class="code-header">pub fn <a href="#method.public_descriptor" class="fn">public_descriptor</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> &<a class="type" href="descriptor/type.ExtendedDescriptor.html" title="type bdk_wallet::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></h4></section></summary><div class="docblock"><p>Returns the descriptor used to create addresses for a particular <code>keychain</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.public_descriptor" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1881-1886">source</a><h4 class="code-header">pub fn <a href="#method.public_descriptor" class="fn">public_descriptor</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> &<a class="type" href="descriptor/type.ExtendedDescriptor.html" title="type bdk_wallet::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></h4></section></summary><div class="docblock"><p>Returns the descriptor used to create addresses for a particular <code>keychain</code>.</p>
<p>It’s the “public” version of the wallet’s descriptor, meaning a new descriptor that has
the same structure but with the all secret keys replaced by their corresponding public key.
This can be used to build a watch-only version of a wallet.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.finalize_psbt" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1894-1980">source</a><h4 class="code-header">pub fn <a href="#method.finalize_psbt" class="fn">finalize_psbt</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.finalize_psbt" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1897-1983">source</a><h4 class="code-header">pub fn <a href="#method.finalize_psbt" class="fn">finalize_psbt</a>(
&self,
psbt: &mut Psbt,
sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk_wallet::signer::SignOptions">SignOptions</a>
for further information.</p>
<p>Returns <code>true</code> if the PSBT could be finalized, and <code>false</code> otherwise.</p>
<p>The <a href="signer/struct.SignOptions.html" title="struct bdk_wallet::signer::SignOptions"><code>SignOptions</code></a> can be used to tweak the behavior of the finalizer.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.secp_ctx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1983-1985">source</a><h4 class="code-header">pub fn <a href="#method.secp_ctx" class="fn">secp_ctx</a>(&self) -> &Secp256k1<All></h4></section></summary><div class="docblock"><p>Return the secp256k1 context used for all signing operations</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1989-1991">source</a><h4 class="code-header">pub fn <a href="#method.derivation_index" class="fn">derivation_index</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</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>The derivation index of this wallet. It will return <code>None</code> if it has not derived any addresses.
+</div></details><details class="toggle method-toggle" open><summary><section id="method.secp_ctx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1986-1988">source</a><h4 class="code-header">pub fn <a href="#method.secp_ctx" class="fn">secp_ctx</a>(&self) -> &Secp256k1<All></h4></section></summary><div class="docblock"><p>Return the secp256k1 context used for all signing operations</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1992-1994">source</a><h4 class="code-header">pub fn <a href="#method.derivation_index" class="fn">derivation_index</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</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>The derivation index of this wallet. It will return <code>None</code> if it has not derived any addresses.
Otherwise, it will return the index of the highest address it has derived.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.next_derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1994-2000">source</a><h4 class="code-header">pub fn <a href="#method.next_derivation_index" class="fn">next_derivation_index</a>(&self, keychain: <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></h4></section></summary><div class="docblock"><p>The index of the next address that you would get if you were to ask the wallet for a new address</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.cancel_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2006-2015">source</a><h4 class="code-header">pub fn <a href="#method.cancel_tx" class="fn">cancel_tx</a>(&mut self, tx: &Transaction)</h4></section></summary><div class="docblock"><p>Informs the wallet that you no longer intend to broadcast a tx that was built from it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next_derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1997-2003">source</a><h4 class="code-header">pub fn <a href="#method.next_derivation_index" class="fn">next_derivation_index</a>(&self, keychain: <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></h4></section></summary><div class="docblock"><p>The index of the next address that you would get if you were to ask the wallet for a new address</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.cancel_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2009-2018">source</a><h4 class="code-header">pub fn <a href="#method.cancel_tx" class="fn">cancel_tx</a>(&mut self, tx: &Transaction)</h4></section></summary><div class="docblock"><p>Informs the wallet that you no longer intend to broadcast a tx that was built from it.</p>
<p>This frees up the change address used when creating the tx for use in future transactions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_psbt_input" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2225-2263">source</a><h4 class="code-header">pub fn <a href="#method.get_psbt_input" class="fn">get_psbt_input</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_psbt_input" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2228-2266">source</a><h4 class="code-header">pub fn <a href="#method.get_psbt_input" class="fn">get_psbt_input</a>(
&self,
utxo: <a class="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a>,
sighash_type: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><PsbtSighashType>,
only_witness_utxo: <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><Input, <a class="enum" href="error/enum.CreateTxError.html" title="enum bdk_wallet::error::CreateTxError">CreateTxError</a>></h4></section></summary><div class="docblock"><p>get the corresponding PSBT Input for a LocalUtxo</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.descriptor_checksum" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2305-2312">source</a><h4 class="code-header">pub fn <a href="#method.descriptor_checksum" class="fn">descriptor_checksum</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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>Return the checksum of the public descriptor associated to <code>keychain</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.descriptor_checksum" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2308-2315">source</a><h4 class="code-header">pub fn <a href="#method.descriptor_checksum" class="fn">descriptor_checksum</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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>Return the checksum of the public descriptor associated to <code>keychain</code></p>
<p>Internally calls <a href="struct.Wallet.html#method.public_descriptor" title="method bdk_wallet::Wallet::public_descriptor"><code>Self::public_descriptor</code></a> to fetch the right descriptor</p>
-</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#2325-2331">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</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#2328-2334">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::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>, CannotConnectError></h4></section><span class="item-info"><div class="stab portability">Available on <strong>crate feature <code>std</code></strong> only.</div></span></summary><div class="docblock"><p>Applies an update to the wallet and stages the changes (but does not persist them).</p>
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::reveal_next_address"><code>Wallet::reveal_next_address</code></a>. `</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update_at" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2346-2369">source</a><h4 class="code-header">pub fn <a href="#method.apply_update_at" class="fn">apply_update_at</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update_at" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2349-2372">source</a><h4 class="code-header">pub fn <a href="#method.apply_update_at" class="fn">apply_update_at</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::Update">Update</a>>,
seen_at: <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>>
not be part of the canonical history of transactions.</p>
<p>Use <a href="struct.Wallet.html#method.apply_update" title="method bdk_wallet::Wallet::apply_update"><code>apply_update</code></a> to have the <code>seen_at</code> value automatically set to
the current time.</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#2372-2378">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is yet to be committed (if any).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.staged_mut" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2381-2387">source</a><h4 class="code-header">pub fn <a href="#method.staged_mut" class="fn">staged_mut</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><&mut <a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a mutable reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is 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#2390-2392">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Take the staged <a href="struct.ChangeSet.html" title="struct bdk_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#2395-2397">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &TxGraph<ConfirmationBlockTime></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#2401-2405">source</a><h4 class="code-header">pub fn <a href="#method.unbroadcast_transactions" class="fn">unbroadcast_transactions</a>(
+</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#2375-2381">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is yet to be committed (if any).</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.staged_mut" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2384-2390">source</a><h4 class="code-header">pub fn <a href="#method.staged_mut" class="fn">staged_mut</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><&mut <a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a mutable reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is 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#2393-2395">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Take the staged <a href="struct.ChangeSet.html" title="struct bdk_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#2398-2400">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &TxGraph<ConfirmationBlockTime></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#2404-2408">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 = TxNode<'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, ConfirmationBlockTime>></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#2408-2410">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#2413-2415">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#2424-2442">source</a><h4 class="code-header">pub fn <a href="#method.apply_block" class="fn">apply_block</a>(
+</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#2411-2413">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#2416-2418">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#2427-2445">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>
<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::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>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_block_connected_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2454-2473">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_connected_to" class="fn">apply_block_connected_to</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_block_connected_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2457-2476">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_connected_to" class="fn">apply_block_connected_to</a>(
&mut self,
block: &Block,
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
<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::reveal_next_address"><code>Wallet::reveal_next_address</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_unconfirmed_txs" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2487-2495">source</a><h4 class="code-header">pub fn <a href="#method.apply_unconfirmed_txs" class="fn">apply_unconfirmed_txs</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>>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_unconfirmed_txs" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2490-2498">source</a><h4 class="code-header">pub fn <a href="#method.apply_unconfirmed_txs" class="fn">apply_unconfirmed_txs</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,
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, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>
)</h4></section></summary><div class="docblock"><p>Apply relevant unconfirmed transactions to the wallet.</p>
<p><strong>WARNING</strong>: You must persist the changes resulting from one or more calls to this method
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::reveal_next_address"><code>Wallet::reveal_next_address</code></a>.</p>
-</div></details><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#2517-2522">source</a><h4 class="code-header">pub fn <a href="#method.start_sync_with_revealed_spks" class="fn">start_sync_with_revealed_spks</a>(
+</div></details><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#2520-2525">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
) -> SyncRequestBuilder<(<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>)></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
[<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#2532-2537">source</a><h4 class="code-header">pub fn <a href="#method.start_full_scan" class="fn">start_full_scan</a>(&self) -> FullScanRequestBuilder<<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>
+</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#2535-2540">source</a><h4 class="code-header">pub fn <a href="#method.start_full_scan" class="fn">start_full_scan</a>(&self) -> FullScanRequestBuilder<<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
[`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>
on when <a href="struct.Wallet.html" title="struct bdk_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 [<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#298-2508">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</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.create_single" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#339-344">source</a><h4 class="code-header">pub fn <a href="#method.create_single" class="fn">create_single</a><D>(descriptor: D) -> <a class="struct" href="struct.CreateParams.html" title="struct bdk_wallet::CreateParams">CreateParams</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-Wallet" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#298-2511">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</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.create_single" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#339-344">source</a><h4 class="code-header">pub fn <a href="#method.create_single" class="fn">create_single</a><D>(descriptor: D) -> <a class="struct" href="struct.CreateParams.html" title="struct bdk_wallet::CreateParams">CreateParams</a><div class="where">where
D: <a class="trait" href="descriptor/trait.IntoWalletDescriptor.html" title="trait bdk_wallet::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</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/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Build a new single descriptor <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a>.</p>
<p>If you have previously created a wallet, use <a href="struct.Wallet.html#method.load" title="associated function bdk_wallet::Wallet::load"><code>load</code></a> instead.</p>
<h5 id="note"><a class="doc-anchor" href="#note">§</a>Note</h5>
<span class="kw">let </span>wallet = Wallet::create(EXTERNAL_DESC, INTERNAL_DESC)
.network(Network::Testnet)
.create_wallet(<span class="kw-2">&mut </span>conn)<span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.create_with_params" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#384-440">source</a><h4 class="code-header">pub fn <a href="#method.create_with_params" class="fn">create_with_params</a>(params: <a class="struct" href="struct.CreateParams.html" title="struct bdk_wallet::CreateParams">CreateParams</a>) -> <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="descriptor/error/enum.Error.html" title="enum bdk_wallet::descriptor::error::Error">DescriptorError</a>></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> with given <code>params</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.create_with_params" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#384-442">source</a><h4 class="code-header">pub fn <a href="#method.create_with_params" class="fn">create_with_params</a>(params: <a class="struct" href="struct.CreateParams.html" title="struct bdk_wallet::CreateParams">CreateParams</a>) -> <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="descriptor/error/enum.Error.html" title="enum bdk_wallet::descriptor::error::Error">DescriptorError</a>></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> with given <code>params</code>.</p>
<p>Refer to <a href="struct.Wallet.html#method.create" title="associated function bdk_wallet::Wallet::create"><code>Wallet::create</code></a> for more.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.load" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#488-490">source</a><h4 class="code-header">pub fn <a href="#method.load" class="fn">load</a>() -> <a class="struct" href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams">LoadParams</a></h4></section></summary><div class="docblock"><p>Build <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> by loading from persistence or <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.load" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#490-492">source</a><h4 class="code-header">pub fn <a href="#method.load" class="fn">load</a>() -> <a class="struct" href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams">LoadParams</a></h4></section></summary><div class="docblock"><p>Build <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> by loading from persistence or <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a>.</p>
<p>Note that the descriptor secret keys are not persisted to the db. You can add
signers after-the-fact with <a href="struct.Wallet.html#method.add_signer" title="method bdk_wallet::Wallet::add_signer"><code>Wallet::add_signer</code></a> or <a href="struct.Wallet.html#method.set_keymap" title="method bdk_wallet::Wallet::set_keymap"><code>Wallet::set_keymap</code></a>. You
can also add keys when building the wallet by using <a href="struct.LoadParams.html#method.keymap" title="method bdk_wallet::LoadParams::keymap"><code>LoadParams::keymap</code></a>. Finally
</span>.lookahead(<span class="number">101</span>)
.load_wallet(<span class="kw-2">&mut </span>conn)<span class="question-mark">?
</span>.expect(<span class="string">"must have data to load wallet"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.load_with_params" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#495-623">source</a><h4 class="code-header">pub fn <a href="#method.load_with_params" class="fn">load_with_params</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.load_with_params" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#497-626">source</a><h4 class="code-header">pub fn <a href="#method.load_with_params" class="fn">load_with_params</a>(
changeset: <a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>,
params: <a class="struct" href="struct.LoadParams.html" title="struct bdk_wallet::LoadParams">LoadParams</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="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self>, <a class="enum" href="enum.LoadError.html" title="enum bdk_wallet::LoadError">LoadError</a>></h4></section></summary><div class="docblock"><p>Load <a href="struct.Wallet.html" title="struct bdk_wallet::Wallet"><code>Wallet</code></a> from the given previously persisted <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> and <code>params</code>.</p>
<p>Refer to <a href="struct.Wallet.html#method.load" title="associated function bdk_wallet::Wallet::load"><code>Wallet::load</code></a> for more.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.network" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#626-628">source</a><h4 class="code-header">pub fn <a href="#method.network" class="fn">network</a>(&self) -> Network</h4></section></summary><div class="docblock"><p>Get the Bitcoin network the wallet is using.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.keychains" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#631-633">source</a><h4 class="code-header">pub fn <a href="#method.keychains" class="fn">keychains</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.network" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#629-631">source</a><h4 class="code-header">pub fn <a href="#method.network" class="fn">network</a>(&self) -> Network</h4></section></summary><div class="docblock"><p>Get the Bitcoin network the wallet is using.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.keychains" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#634-636">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/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, &<a class="type" href="descriptor/type.ExtendedDescriptor.html" title="type bdk_wallet::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>)></h4></section></summary><div class="docblock"><p>Iterator over all keychains in this wallet</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.peek_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#643-662">source</a><h4 class="code-header">pub fn <a href="#method.peek_address" class="fn">peek_address</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Peek an address of the given <code>keychain</code> at <code>index</code> without revealing it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.peek_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#646-665">source</a><h4 class="code-header">pub fn <a href="#method.peek_address" class="fn">peek_address</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Peek an address of the given <code>keychain</code> at <code>index</code> without revealing it.</p>
<p>For non-wildcard descriptors this returns the same address at every provided index.</p>
<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
<p>This panics when the caller requests for an address of derivation index greater than the
<a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a> max index.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_next_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#689-706">source</a><h4 class="code-header">pub fn <a href="#method.reveal_next_address" class="fn">reveal_next_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Attempt to reveal the next address of the given <code>keychain</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_next_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#692-709">source</a><h4 class="code-header">pub fn <a href="#method.reveal_next_address" class="fn">reveal_next_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Attempt to reveal the next address of the given <code>keychain</code>.</p>
<p>This will increment the keychain’s derivation index. If the keychain’s descriptor doesn’t
contain a wildcard or every address is already revealed up to the maximum derivation
index defined in <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a>,
<span class="comment">// Now it's safe to show the user their next address!
</span><span class="macro">println!</span>(<span class="string">"Next address: {}"</span>, next_address.address);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_addresses_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#717-736">source</a><h4 class="code-header">pub fn <a href="#method.reveal_addresses_to" class="fn">reveal_addresses_to</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reveal_addresses_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#720-739">source</a><h4 class="code-header">pub fn <a href="#method.reveal_addresses_to" class="fn">reveal_addresses_to</a>(
&mut self,
keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>,
index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>
no new addresses are returned.</p>
<p><strong>WARNING</strong>: To avoid address reuse you must persist the changes resulting from one or more
calls to this method before closing the wallet. See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.next_unused_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#746-763">source</a><h4 class="code-header">pub fn <a href="#method.next_unused_address" class="fn">next_unused_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Get the next unused address for the given <code>keychain</code>, i.e. the address with the lowest
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next_unused_address" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#749-766">source</a><h4 class="code-header">pub fn <a href="#method.next_unused_address" class="fn">next_unused_address</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a></h4></section></summary><div class="docblock"><p>Get the next unused address for the given <code>keychain</code>, i.e. the address with the lowest
derivation index that hasn’t been used.</p>
<p>This will attempt to derive and reveal a new address if no newly revealed addresses
are available. See also <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::Wallet::reveal_next_address"><code>reveal_next_address</code></a>.</p>
<p><strong>WARNING</strong>: To avoid address reuse you must persist the changes resulting from one or more
calls to this method before closing the wallet. See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.mark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#768-770">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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 an address used of the given <code>keychain</code> at <code>index</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#771-773">source</a><h4 class="code-header">pub fn <a href="#method.mark_used" class="fn">mark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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 an address used of the given <code>keychain</code> at <code>index</code>.</p>
<p>Returns whether the given index was present and then removed from the unused set.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#780-782">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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.Wallet.html#method.mark_used" title="method bdk_wallet::Wallet::mark_used"><code>mark_used</code></a> and returns whether the <code>index</code> was inserted
+</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_used" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#783-785">source</a><h4 class="code-header">pub fn <a href="#method.unmark_used" class="fn">unmark_used</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, 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.Wallet.html#method.mark_used" title="method bdk_wallet::Wallet::mark_used"><code>mark_used</code></a> and returns whether the <code>index</code> was inserted
back into the unused set.</p>
<p>Since this is only a superficial marker, it will have no effect if the address at the given
<code>index</code> was actually used, i.e. the wallet has previously indexed a tx output for the
derived spk.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.list_unused_addresses" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#789-802">source</a><h4 class="code-header">pub fn <a href="#method.list_unused_addresses" class="fn">list_unused_addresses</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.list_unused_addresses" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#792-805">source</a><h4 class="code-header">pub fn <a href="#method.list_unused_addresses" class="fn">list_unused_addresses</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/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a><Item = <a class="struct" href="struct.AddressInfo.html" title="struct bdk_wallet::AddressInfo">AddressInfo</a>> + '_</h4></section></summary><div class="docblock"><p>List addresses that are revealed but unused.</p>
<p>Note if the returned iterator is empty you can reveal more addresses
by using <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_wallet::Wallet::reveal_next_address"><code>reveal_next_address</code></a> or
<a href="struct.Wallet.html#method.reveal_addresses_to" title="method bdk_wallet::Wallet::reveal_addresses_to"><code>reveal_addresses_to</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_mine" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#805-807">source</a><h4 class="code-header">pub fn <a href="#method.is_mine" class="fn">is_mine</a>(&self, script: ScriptBuf) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return whether or not a <code>script</code> is part of this wallet (either internal or external)</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_of_spk" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#812-814">source</a><h4 class="code-header">pub fn <a href="#method.derivation_of_spk" class="fn">derivation_of_spk</a>(&self, spk: ScriptBuf) -> <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.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>)></h4></section></summary><div class="docblock"><p>Finds how the wallet derived the script pubkey <code>spk</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_mine" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#808-810">source</a><h4 class="code-header">pub fn <a href="#method.is_mine" class="fn">is_mine</a>(&self, script: ScriptBuf) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return whether or not a <code>script</code> is part of this wallet (either internal or external)</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_of_spk" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#815-817">source</a><h4 class="code-header">pub fn <a href="#method.derivation_of_spk" class="fn">derivation_of_spk</a>(&self, spk: ScriptBuf) -> <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.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>)></h4></section></summary><div class="docblock"><p>Finds how the wallet derived the script pubkey <code>spk</code>.</p>
<p>Will only return <code>Some(_)</code> if the wallet has given out the spk.</p>
-</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#817-826">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#831-840">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>
+</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#820-829">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#834-843">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::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#843-845">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#848-850">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#860-864">source</a><h4 class="code-header">pub fn <a href="#method.all_unbounded_spk_iters" class="fn">all_unbounded_spk_iters</a>(
+</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#846-848">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#851-853">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#863-867">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 = 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
electrum server) which will go through each address until it reaches a <em>stop gap</em>.</p>
<p>Note carefully that iterators go over <strong>all</strong> script pubkeys on the keychains (not what
script pubkeys the wallet is storing internally).</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#871-879">source</a><h4 class="code-header">pub fn <a href="#method.unbounded_spk_iter" class="fn">unbounded_spk_iter</a>(
+</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#874-882">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 = 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::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#883-894">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
+</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#886-897">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.insert_txout" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#913-916">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(&mut self, outpoint: OutPoint, txout: TxOut)</h4></section></summary><div class="docblock"><p>Inserts a [<code>TxOut</code>] at [<code>OutPoint</code>] into the wallet’s transaction graph.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_txout" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#916-919">source</a><h4 class="code-header">pub fn <a href="#method.insert_txout" class="fn">insert_txout</a>(&mut self, outpoint: OutPoint, txout: TxOut)</h4></section></summary><div class="docblock"><p>Inserts a [<code>TxOut</code>] at [<code>OutPoint</code>] into the wallet’s transaction graph.</p>
<p>This is used for providing a previous output’s value so that we can use <a href="struct.Wallet.html#method.calculate_fee" title="method bdk_wallet::Wallet::calculate_fee"><code>calculate_fee</code></a>
or <a href="struct.Wallet.html#method.calculate_fee_rate" title="method bdk_wallet::Wallet::calculate_fee_rate"><code>calculate_fee_rate</code></a> on a given transaction. Outputs inserted with this method will
not be returned in <a href="struct.Wallet.html#method.list_unspent" title="method bdk_wallet::Wallet::list_unspent"><code>list_unspent</code></a> or <a href="struct.Wallet.html#method.list_output" title="method bdk_wallet::Wallet::list_output"><code>list_output</code></a>.</p>
<p>You must persist the changes resulting from one or more calls to this method if you need
the inserted <code>TxOut</code> data to be reloaded after closing the wallet.
See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.calculate_fee" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#945-947">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_wallet/wallet/mod.rs.html#948-950">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, 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>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>tx = <span class="kw-2">&</span>psbt.clone().extract_tx().expect(<span class="string">"tx"</span>);
<span class="kw">let </span>fee = wallet.calculate_fee(tx).expect(<span class="string">"fee"</span>);</code></pre></div>
-</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#976-978">source</a><h4 class="code-header">pub fn <a href="#method.calculate_fee_rate" class="fn">calculate_fee_rate</a>(
+</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#979-981">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, CalculateFeeError></h4></section></summary><div class="docblock"><p>Calculate the [<code>FeeRate</code>] for a given transaction.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>tx = <span class="kw-2">&</span>psbt.clone().extract_tx().expect(<span class="string">"tx"</span>);
<span class="kw">let </span>fee_rate = wallet.calculate_fee_rate(tx).expect(<span class="string">"fee rate"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.sent_and_received" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1005-1007">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(&self, tx: &Transaction) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Compute the <code>tx</code>’s sent and received [<code>Amount</code>]s.</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_wallet/wallet/mod.rs.html#1008-1010">source</a><h4 class="code-header">pub fn <a href="#method.sent_and_received" class="fn">sent_and_received</a>(&self, tx: &Transaction) -> (Amount, Amount)</h4></section></summary><div class="docblock"><p>Compute the <code>tx</code>’s sent and received [<code>Amount</code>]s.</p>
<p>This method returns a tuple <code>(sent, received)</code>. Sent is the sum of the txin amounts
that spend from previous txouts tracked by this wallet. Received is the summation
of this tx’s outputs that send to script pubkeys tracked by this wallet.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>tx = <span class="kw-2">&</span>psbt.clone().extract_tx().expect(<span class="string">"tx"</span>);
<span class="kw">let </span>(sent, received) = wallet.sent_and_received(tx);</code></pre></div>
-</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#1052-1063">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>></h4></section></summary><div class="docblock"><p>Get a single transaction from the wallet as a <a href="type.WalletTx.html" title="type bdk_wallet::WalletTx"><code>WalletTx</code></a> (if the transaction exists).</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#1055-1066">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>></h4></section></summary><div class="docblock"><p>Get a single transaction from the wallet as a <a href="type.WalletTx.html" title="type bdk_wallet::WalletTx"><code>WalletTx</code></a> (if the transaction exists).</p>
<p><code>WalletTx</code> contains the full transaction alongside meta-data such as:</p>
<ul>
<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
last_seen,
),
}</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#1075-1083">source</a><h4 class="code-header">pub fn <a href="#method.insert_checkpoint" class="fn">insert_checkpoint</a>(
+</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#1078-1086">source</a><h4 class="code-header">pub fn <a href="#method.insert_checkpoint" class="fn">insert_checkpoint</a>(
&mut self,
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><strong>WARNING</strong>: You must persist the changes resulting from one or more calls to this method
if you need the inserted checkpoint data to be reloaded after closing the wallet.
See <a href="struct.Wallet.html#method.reveal_next_address" title="method bdk_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.insert_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1097-1103">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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Add a transaction to the wallet’s internal view of the chain. This stages the change,
+</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1100-1106">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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Add a transaction to the wallet’s internal view of the chain. This stages the change,
you must persist it later.</p>
<p>This method inserts the given <code>tx</code> and returns whether anything changed after insertion,
which will be false if the same transaction already exists in the wallet’s transaction
<p>By default the inserted <code>tx</code> won’t be considered “canonical” because it’s not known
whether the transaction exists in the best chain. To know whether it exists, the tx
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#1106-1110">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>> + '_</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.transactions_sort_by" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1124-1131">source</a><h4 class="code-header">pub fn <a href="#method.transactions_sort_by" class="fn">transactions_sort_by</a><F>(&self, compare: F) -> <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.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>><div class="where">where
+</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#1109-1113">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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>> + '_</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.transactions_sort_by" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1127-1134">source</a><h4 class="code-header">pub fn <a href="#method.transactions_sort_by" class="fn">transactions_sort_by</a><F>(&self, compare: F) -> <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.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>><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="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>, &<a class="type" href="type.WalletTx.html" title="type bdk_wallet::WalletTx">WalletTx</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class="docblock"><p>Array of transactions in the wallet sorted with a comparator function.</p>
<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Transactions by chain position: first unconfirmed then descending by confirmed height.
</span><span class="kw">let </span>sorted_txs: Vec<WalletTx> =
wallet.transactions_sort_by(|tx1, tx2| tx2.chain_position.cmp(<span class="kw-2">&</span>tx1.chain_position));</code></pre></div>
-</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#1135-1142">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::Balance">Balance</a></h4></section></summary><div class="docblock"><p>Return the balance, separated into available, trusted-pending, untrusted-pending and immature
+</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#1138-1145">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::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#1147-1159">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.add_signer" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1150-1162">source</a><h4 class="code-header">pub fn <a href="#method.add_signer" class="fn">add_signer</a>(
&mut self,
keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>,
ordering: <a class="struct" href="signer/struct.SignerOrdering.html" title="struct bdk_wallet::signer::SignerOrdering">SignerOrdering</a>,
signer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="signer/trait.TransactionSigner.html" title="trait bdk_wallet::signer::TransactionSigner">TransactionSigner</a>>
)</h4></section></summary><div class="docblock"><p>Add an external signer</p>
<p>See <a href="signer/index.html" title="mod bdk_wallet::signer">the <code>signer</code> module</a> for an example.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymap" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1165-1173">source</a><h4 class="code-header">pub fn <a href="#method.set_keymap" class="fn">set_keymap</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, keymap: <a class="type" href="keys/type.KeyMap.html" title="type bdk_wallet::keys::KeyMap">KeyMap</a>)</h4></section></summary><div class="docblock"><p>Set the keymap for a given keychain.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymap" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1168-1176">source</a><h4 class="code-header">pub fn <a href="#method.set_keymap" class="fn">set_keymap</a>(&mut self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, keymap: <a class="type" href="keys/type.KeyMap.html" title="type bdk_wallet::keys::KeyMap">KeyMap</a>)</h4></section></summary><div class="docblock"><p>Set the keymap for a given keychain.</p>
<p>Note this does nothing if the given keychain has no descriptor because we won’t
know the context (segwit, taproot, etc) in which to create signatures.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymaps" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1176-1180">source</a><h4 class="code-header">pub fn <a href="#method.set_keymaps" class="fn">set_keymaps</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_keymaps" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1179-1183">source</a><h4 class="code-header">pub fn <a href="#method.set_keymaps" class="fn">set_keymaps</a>(
&mut self,
keymaps: 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 class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>, <a class="type" href="keys/type.KeyMap.html" title="type bdk_wallet::keys::KeyMap">KeyMap</a>)>
)</h4></section></summary><div class="docblock"><p>Set the keymap for each keychain.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_signers" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1201-1206">source</a><h4 class="code-header">pub fn <a href="#method.get_signers" class="fn">get_signers</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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="signer/struct.SignersContainer.html" title="struct bdk_wallet::signer::SignersContainer">SignersContainer</a>></h4></section></summary><div class="docblock"><p>Get the signers</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_signers" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1204-1209">source</a><h4 class="code-header">pub fn <a href="#method.get_signers" class="fn">get_signers</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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="signer/struct.SignersContainer.html" title="struct bdk_wallet::signer::SignersContainer">SignersContainer</a>></h4></section></summary><div class="docblock"><p>Get the signers</p>
<h6 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example</h6>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>descriptor = <span class="string">"wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/1'/0'/0/*)"</span>;
<span class="kw">let </span>change_descriptor = <span class="string">"wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/1'/0'/1/*)"</span>;
}
<span class="prelude-val">Ok</span>::<(), Box<<span class="kw">dyn </span>std::error::Error>>(())</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1236-1242">source</a><h4 class="code-header">pub fn <a href="#method.build_tx" class="fn">build_tx</a>(&mut self) -> <a class="struct" href="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder">TxBuilder</a><'_, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk_wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>></h4></section></summary><div class="docblock"><p>Start building a transaction.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1239-1245">source</a><h4 class="code-header">pub fn <a href="#method.build_tx" class="fn">build_tx</a>(&mut self) -> <a class="struct" href="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder">TxBuilder</a><'_, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk_wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>></h4></section></summary><div class="docblock"><p>Start building a transaction.</p>
<p>This returns a blank <a href="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder"><code>TxBuilder</code></a> from which you can specify the parameters for the transaction.</p>
<h6 id="example-3"><a class="doc-anchor" href="#example-3">§</a>Example</h6>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>psbt = {
</span>};
<span class="comment">// sign and broadcast ...</span></code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.build_fee_bump" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1648-1781">source</a><h4 class="code-header">pub fn <a href="#method.build_fee_bump" class="fn">build_fee_bump</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.build_fee_bump" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1651-1784">source</a><h4 class="code-header">pub fn <a href="#method.build_fee_bump" class="fn">build_fee_bump</a>(
&mut 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="tx_builder/struct.TxBuilder.html" title="struct bdk_wallet::tx_builder::TxBuilder">TxBuilder</a><'_, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk_wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>>, <a class="enum" href="error/enum.BuildFeeBumpError.html" title="enum bdk_wallet::error::BuildFeeBumpError">BuildFeeBumpError</a>></h4></section></summary><div class="docblock"><p>Bump the fee of a transaction previously created with this wallet.</p>
<span class="kw">let _ </span>= wallet.sign(<span class="kw-2">&mut </span>psbt, SignOptions::default())<span class="question-mark">?</span>;
<span class="kw">let </span>fee_bumped_tx = psbt.extract_tx();
<span class="comment">// broadcast fee_bumped_tx to replace original</span></code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.sign" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1810-1857">source</a><h4 class="code-header">pub fn <a href="#method.sign" class="fn">sign</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.sign" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1813-1860">source</a><h4 class="code-header">pub fn <a href="#method.sign" class="fn">sign</a>(
&self,
psbt: &mut Psbt,
sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk_wallet::signer::SignOptions">SignOptions</a>
</span>};
<span class="kw">let </span>finalized = wallet.sign(<span class="kw-2">&mut </span>psbt, SignOptions::default())<span class="question-mark">?</span>;
<span class="macro">assert!</span>(finalized, <span class="string">"we should have signed all the inputs"</span>);</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.policies" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1860-1871">source</a><h4 class="code-header">pub fn <a href="#method.policies" class="fn">policies</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.policies" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1863-1874">source</a><h4 class="code-header">pub fn <a href="#method.policies" class="fn">policies</a>(
&self,
keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</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="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="descriptor/policy/struct.Policy.html" title="struct bdk_wallet::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="descriptor/error/enum.Error.html" title="enum bdk_wallet::descriptor::error::Error">DescriptorError</a>></h4></section></summary><div class="docblock"><p>Return the spending policies for the wallet’s descriptor</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.public_descriptor" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1878-1883">source</a><h4 class="code-header">pub fn <a href="#method.public_descriptor" class="fn">public_descriptor</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> &<a class="type" href="descriptor/type.ExtendedDescriptor.html" title="type bdk_wallet::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></h4></section></summary><div class="docblock"><p>Returns the descriptor used to create addresses for a particular <code>keychain</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.public_descriptor" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1881-1886">source</a><h4 class="code-header">pub fn <a href="#method.public_descriptor" class="fn">public_descriptor</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> &<a class="type" href="descriptor/type.ExtendedDescriptor.html" title="type bdk_wallet::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></h4></section></summary><div class="docblock"><p>Returns the descriptor used to create addresses for a particular <code>keychain</code>.</p>
<p>It’s the “public” version of the wallet’s descriptor, meaning a new descriptor that has
the same structure but with the all secret keys replaced by their corresponding public key.
This can be used to build a watch-only version of a wallet.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.finalize_psbt" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1894-1980">source</a><h4 class="code-header">pub fn <a href="#method.finalize_psbt" class="fn">finalize_psbt</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.finalize_psbt" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1897-1983">source</a><h4 class="code-header">pub fn <a href="#method.finalize_psbt" class="fn">finalize_psbt</a>(
&self,
psbt: &mut Psbt,
sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk_wallet::signer::SignOptions">SignOptions</a>
for further information.</p>
<p>Returns <code>true</code> if the PSBT could be finalized, and <code>false</code> otherwise.</p>
<p>The <a href="signer/struct.SignOptions.html" title="struct bdk_wallet::signer::SignOptions"><code>SignOptions</code></a> can be used to tweak the behavior of the finalizer.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.secp_ctx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1983-1985">source</a><h4 class="code-header">pub fn <a href="#method.secp_ctx" class="fn">secp_ctx</a>(&self) -> &Secp256k1<All></h4></section></summary><div class="docblock"><p>Return the secp256k1 context used for all signing operations</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1989-1991">source</a><h4 class="code-header">pub fn <a href="#method.derivation_index" class="fn">derivation_index</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</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>The derivation index of this wallet. It will return <code>None</code> if it has not derived any addresses.
+</div></details><details class="toggle method-toggle" open><summary><section id="method.secp_ctx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1986-1988">source</a><h4 class="code-header">pub fn <a href="#method.secp_ctx" class="fn">secp_ctx</a>(&self) -> &Secp256k1<All></h4></section></summary><div class="docblock"><p>Return the secp256k1 context used for all signing operations</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1992-1994">source</a><h4 class="code-header">pub fn <a href="#method.derivation_index" class="fn">derivation_index</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</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>The derivation index of this wallet. It will return <code>None</code> if it has not derived any addresses.
Otherwise, it will return the index of the highest address it has derived.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.next_derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1994-2000">source</a><h4 class="code-header">pub fn <a href="#method.next_derivation_index" class="fn">next_derivation_index</a>(&self, keychain: <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></h4></section></summary><div class="docblock"><p>The index of the next address that you would get if you were to ask the wallet for a new address</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.cancel_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2006-2015">source</a><h4 class="code-header">pub fn <a href="#method.cancel_tx" class="fn">cancel_tx</a>(&mut self, tx: &Transaction)</h4></section></summary><div class="docblock"><p>Informs the wallet that you no longer intend to broadcast a tx that was built from it.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next_derivation_index" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#1997-2003">source</a><h4 class="code-header">pub fn <a href="#method.next_derivation_index" class="fn">next_derivation_index</a>(&self, keychain: <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></h4></section></summary><div class="docblock"><p>The index of the next address that you would get if you were to ask the wallet for a new address</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.cancel_tx" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2009-2018">source</a><h4 class="code-header">pub fn <a href="#method.cancel_tx" class="fn">cancel_tx</a>(&mut self, tx: &Transaction)</h4></section></summary><div class="docblock"><p>Informs the wallet that you no longer intend to broadcast a tx that was built from it.</p>
<p>This frees up the change address used when creating the tx for use in future transactions.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.get_psbt_input" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2225-2263">source</a><h4 class="code-header">pub fn <a href="#method.get_psbt_input" class="fn">get_psbt_input</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.get_psbt_input" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2228-2266">source</a><h4 class="code-header">pub fn <a href="#method.get_psbt_input" class="fn">get_psbt_input</a>(
&self,
utxo: <a class="struct" href="struct.LocalOutput.html" title="struct bdk_wallet::LocalOutput">LocalOutput</a>,
sighash_type: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><PsbtSighashType>,
only_witness_utxo: <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><Input, <a class="enum" href="error/enum.CreateTxError.html" title="enum bdk_wallet::error::CreateTxError">CreateTxError</a>></h4></section></summary><div class="docblock"><p>get the corresponding PSBT Input for a LocalUtxo</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.descriptor_checksum" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2305-2312">source</a><h4 class="code-header">pub fn <a href="#method.descriptor_checksum" class="fn">descriptor_checksum</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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>Return the checksum of the public descriptor associated to <code>keychain</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.descriptor_checksum" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2308-2315">source</a><h4 class="code-header">pub fn <a href="#method.descriptor_checksum" class="fn">descriptor_checksum</a>(&self, keychain: <a class="enum" href="enum.KeychainKind.html" title="enum bdk_wallet::KeychainKind">KeychainKind</a>) -> <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>Return the checksum of the public descriptor associated to <code>keychain</code></p>
<p>Internally calls <a href="struct.Wallet.html#method.public_descriptor" title="method bdk_wallet::Wallet::public_descriptor"><code>Self::public_descriptor</code></a> to fetch the right descriptor</p>
-</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#2325-2331">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</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#2328-2334">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::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>, CannotConnectError></h4></section><span class="item-info"><div class="stab portability">Available on <strong>crate feature <code>std</code></strong> only.</div></span></summary><div class="docblock"><p>Applies an update to the wallet and stages the changes (but does not persist them).</p>
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::reveal_next_address"><code>Wallet::reveal_next_address</code></a>. `</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update_at" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2346-2369">source</a><h4 class="code-header">pub fn <a href="#method.apply_update_at" class="fn">apply_update_at</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_update_at" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2349-2372">source</a><h4 class="code-header">pub fn <a href="#method.apply_update_at" class="fn">apply_update_at</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::Update">Update</a>>,
seen_at: <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>>
not be part of the canonical history of transactions.</p>
<p>Use <a href="struct.Wallet.html#method.apply_update" title="method bdk_wallet::Wallet::apply_update"><code>apply_update</code></a> to have the <code>seen_at</code> value automatically set to
the current time.</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#2372-2378">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is yet to be committed (if any).</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.staged_mut" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2381-2387">source</a><h4 class="code-header">pub fn <a href="#method.staged_mut" class="fn">staged_mut</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><&mut <a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a mutable reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is 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#2390-2392">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Take the staged <a href="struct.ChangeSet.html" title="struct bdk_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#2395-2397">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &TxGraph<ConfirmationBlockTime></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#2401-2405">source</a><h4 class="code-header">pub fn <a href="#method.unbroadcast_transactions" class="fn">unbroadcast_transactions</a>(
+</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#2375-2381">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is yet to be committed (if any).</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.staged_mut" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2384-2390">source</a><h4 class="code-header">pub fn <a href="#method.staged_mut" class="fn">staged_mut</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><&mut <a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Get a mutable reference of the staged <a href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet"><code>ChangeSet</code></a> that is 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#2393-2395">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="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h4></section></summary><div class="docblock"><p>Take the staged <a href="struct.ChangeSet.html" title="struct bdk_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#2398-2400">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &TxGraph<ConfirmationBlockTime></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#2404-2408">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 = TxNode<'_, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Transaction>, ConfirmationBlockTime>></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#2408-2410">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#2413-2415">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#2424-2442">source</a><h4 class="code-header">pub fn <a href="#method.apply_block" class="fn">apply_block</a>(
+</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#2411-2413">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#2416-2418">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#2427-2445">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>
<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::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>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_block_connected_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2454-2473">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_connected_to" class="fn">apply_block_connected_to</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_block_connected_to" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2457-2476">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_connected_to" class="fn">apply_block_connected_to</a>(
&mut self,
block: &Block,
height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
<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::reveal_next_address"><code>Wallet::reveal_next_address</code></a>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_unconfirmed_txs" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2487-2495">source</a><h4 class="code-header">pub fn <a href="#method.apply_unconfirmed_txs" class="fn">apply_unconfirmed_txs</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>>>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.apply_unconfirmed_txs" class="method"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2490-2498">source</a><h4 class="code-header">pub fn <a href="#method.apply_unconfirmed_txs" class="fn">apply_unconfirmed_txs</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,
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, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)>
)</h4></section></summary><div class="docblock"><p>Apply relevant unconfirmed transactions to the wallet.</p>
<p><strong>WARNING</strong>: You must persist the changes resulting from one or more calls to this method
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::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#2511-2538">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</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#2517-2522">source</a><h4 class="code-header">pub fn <a href="#method.start_sync_with_revealed_spks" class="fn">start_sync_with_revealed_spks</a>(
+</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#2514-2541">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</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#2520-2525">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
) -> SyncRequestBuilder<(<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>)></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
[<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#2532-2537">source</a><h4 class="code-header">pub fn <a href="#method.start_full_scan" class="fn">start_full_scan</a>(&self) -> FullScanRequestBuilder<<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>
+</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#2535-2540">source</a><h4 class="code-header">pub fn <a href="#method.start_full_scan" class="fn">start_full_scan</a>(&self) -> FullScanRequestBuilder<<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
[`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%3CConfirmationBlockTime%3E%3E-for-Wallet" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2540-2544">source</a><a href="#impl-AsRef%3CTxGraph%3CConfirmationBlockTime%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<ConfirmationBlockTime>> for <a class="struct" href="struct.Wallet.html" title="struct bdk_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#2541-2543">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<ConfirmationBlockTime></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#115">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</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#115">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</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</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</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</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</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</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%3CConfirmationBlockTime%3E%3E-for-Wallet" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/mod.rs.html#2543-2547">source</a><a href="#impl-AsRef%3CTxGraph%3CConfirmationBlockTime%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<ConfirmationBlockTime>> for <a class="struct" href="struct.Wallet.html" title="struct bdk_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#2544-2546">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<ConfirmationBlockTime></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#115">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</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#115">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</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</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</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</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</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</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>
changeset: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</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>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section></summary><div class="docblock"><p>Persist the given <code>changeset</code> to the <code>persister</code>.</p>
<p>This method can fail if the <code>persister</code> is not <a href="trait.WalletPersister.html#tymethod.initialize" title="associated function bdk_wallet::WalletPersister::initialize"><code>initialize</code></a>d.</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-WalletPersister-for-Connection" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#271-287">source</a><a href="#impl-WalletPersister-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister">WalletPersister</a> for Connection</h3></section></summary><div class="impl-items"><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = Error</h4></section><section id="method.initialize" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#274-280">source</a><a href="#method.initialize" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.initialize" class="fn">initialize</a>(persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</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.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section><section id="method.persist" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#282-286">source</a><a href="#method.persist" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.persist" class="fn">persist</a>(
+</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-WalletPersister-for-Store%3CChangeSet%3E" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#314-329">source</a><a href="#impl-WalletPersister-for-Store%3CChangeSet%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister">WalletPersister</a> for <a class="struct" href="../bdk_file_store/store/struct.Store.html" title="struct bdk_file_store::store::Store">Store</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="enum.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h4></section><section id="method.initialize" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#317-322">source</a><a href="#method.initialize" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.initialize" class="fn">initialize</a>(persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</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.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section><section id="method.persist" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#324-328">source</a><a href="#method.persist" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.persist" class="fn">persist</a>(
persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</a>,
changeset: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</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>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WalletPersister-for-Store%3CChangeSet%3E" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#314-329">source</a><a href="#impl-WalletPersister-for-Store%3CChangeSet%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister">WalletPersister</a> for Store<<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="enum.FileStoreError.html" title="enum bdk_wallet::FileStoreError">FileStoreError</a></h4></section><section id="method.initialize-1" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#317-322">source</a><a href="#method.initialize-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.initialize" class="fn">initialize</a>(persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</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.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section><section id="method.persist-1" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#324-328">source</a><a href="#method.persist-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.persist" class="fn">persist</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>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WalletPersister-for-Connection" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#271-287">source</a><a href="#impl-WalletPersister-for-Connection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister">WalletPersister</a> for Connection</h3></section></summary><div class="impl-items"><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = Error</h4></section><section id="method.initialize-1" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#274-280">source</a><a href="#method.initialize-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.initialize" class="fn">initialize</a>(persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</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.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section><section id="method.persist-1" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#282-286">source</a><a href="#method.persist-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.persist" class="fn">persist</a>(
persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</a>,
changeset: &<a class="struct" href="struct.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</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>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WalletPersister-for-Transaction%3C'c%3E" class="impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#257-268">source</a><a href="#impl-WalletPersister-for-Transaction%3C'c%3E" class="anchor">§</a><h3 class="code-header">impl<'c> <a class="trait" href="trait.WalletPersister.html" title="trait bdk_wallet::WalletPersister">WalletPersister</a> for Transaction<'c></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = Error</h4></section><section id="method.initialize-2" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#260-263">source</a><a href="#method.initialize-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.initialize" class="fn">initialize</a>(persister: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut Self</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.ChangeSet.html" title="struct bdk_wallet::ChangeSet">ChangeSet</a>, Self::<a class="associatedtype" href="trait.WalletPersister.html#associatedtype.Error" title="type bdk_wallet::WalletPersister::Error">Error</a>></h4></section><section id="method.persist-2" class="method trait-impl"><a class="src rightside" href="../src/bdk_wallet/wallet/persisted.rs.html#265-267">source</a><a href="#method.persist-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.persist" class="fn">persist</a>(
<a href="#2677" id="2677">2677</a>
<a href="#2678" id="2678">2678</a>
<a href="#2679" id="2679">2679</a>
+<a href="#2680" id="2680">2680</a>
+<a href="#2681" id="2681">2681</a>
+<a href="#2682" id="2682">2682</a>
</pre></div><pre class="rust"><code><span class="comment">// Bitcoin Dev Kit
// Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
//
<span class="kw">let </span>(chain, chain_changeset) = LocalChain::from_genesis_hash(genesis_hash);
<span class="kw">let </span>(descriptor, <span class="kw-2">mut </span>descriptor_keymap) = (params.descriptor)(<span class="kw-2">&</span>secp, network)<span class="question-mark">?</span>;
+ check_wallet_descriptor(<span class="kw-2">&</span>descriptor)<span class="question-mark">?</span>;
descriptor_keymap.extend(params.descriptor_keymap);
<span class="kw">let </span>signers = Arc::new(SignersContainer::build(
<span class="kw">let </span>(change_descriptor, change_signers) = <span class="kw">match </span>params.change_descriptor {
<span class="prelude-val">Some</span>(make_desc) => {
<span class="kw">let </span>(change_descriptor, <span class="kw-2">mut </span>internal_keymap) = make_desc(<span class="kw-2">&</span>secp, network)<span class="question-mark">?</span>;
+ check_wallet_descriptor(<span class="kw-2">&</span>change_descriptor)<span class="question-mark">?</span>;
internal_keymap.extend(params.change_descriptor_keymap);
<span class="kw">let </span>change_signers = Arc::new(SignersContainer::build(
internal_keymap,
}
<span class="comment">// parameters must match
</span><span class="prelude-val">Some</span>(make_desc) => {
+ check_wallet_descriptor(<span class="kw-2">&</span>desc).map_err(LoadError::Descriptor)<span class="question-mark">?</span>;
<span class="kw">let </span>(exp_desc, keymap) =
make_desc(<span class="kw-2">&</span>secp, network).map_err(LoadError::Descriptor)<span class="question-mark">?</span>;
<span class="kw">if </span>desc.descriptor_id() != exp_desc.descriptor_id() {