<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Errors that can be thrown by the `coin_selection` module"><meta name="keywords" content="rust, rustlang, rust-lang, Error"><title>Error in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><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">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Error</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.BnBNoExactMatch">BnBNoExactMatch</a></li><li><a href="#variant.BnBTotalTriesExceeded">BnBTotalTriesExceeded</a></li><li><a href="#variant.InsufficientFunds">InsufficientFunds</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-Error">Debug</a></li><li><a href="#impl-Display-for-Error">Display</a></li><li><a href="#impl-Error-for-Error">Error</a></li><li><a href="#impl-From%3CError%3E-for-CreateTxError%3CP%3E">From<Error></a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Error">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Error">Send</a></li><li><a href="#impl-Sync-for-Error">Sync</a></li><li><a href="#impl-Unpin-for-Error">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Error">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Error">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Error">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Error">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-Error">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-Error">Into<U></a></li><li><a href="#impl-Provider-for-Error">Provider</a></li><li><a href="#impl-ToString-for-Error">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Error">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Error">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-Error">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="enum" href="#">Error</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#126-140">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>pub enum Error {
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Error</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.BnBNoExactMatch">BnBNoExactMatch</a></li><li><a href="#variant.BnBTotalTriesExceeded">BnBTotalTriesExceeded</a></li><li><a href="#variant.InsufficientFunds">InsufficientFunds</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-Error">Debug</a></li><li><a href="#impl-Display-for-Error">Display</a></li><li><a href="#impl-Error-for-Error">Error</a></li><li><a href="#impl-From%3CError%3E-for-CreateTxError%3CP%3E">From<Error></a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Error">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Error">Send</a></li><li><a href="#impl-Sync-for-Error">Sync</a></li><li><a href="#impl-Unpin-for-Error">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Error">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Error">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Error">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Error">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-Error">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-Error">Into<U></a></li><li><a href="#impl-Provider-for-Error">Provider</a></li><li><a href="#impl-ToString-for-Error">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Error">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Error">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-Error">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="enum" href="#">Error</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#128-142">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>pub enum Error {
InsufficientFunds {
needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
available: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
the desired outputs plus fee, if there is not such combination this error is thrown</p>
</div><section id="variant.BnBTotalTriesExceeded" class="variant"><a href="#variant.BnBTotalTriesExceeded" class="anchor">§</a><h3 class="code-header">BnBTotalTriesExceeded</h3></section><div class="docblock"><p>Branch and bound coin selection possible attempts with sufficiently big UTXO set could grow
exponentially, thus a limit is set, and when hit, this error is thrown</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#125">source</a><a href="#impl-Debug-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#125">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Display-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#142-156">source</a><a href="#impl-Display-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#143-155">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Error-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#159">source</a><a href="#impl-Error-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.source" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#83">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="rustdoc-toggle method-toggle" open><summary><section id="method.description" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#109">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="rustdoc-toggle method-toggle" open><summary><section id="method.cause" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#119">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="rustdoc-toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#193">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, demand: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.Demand.html" title="struct core::any::Demand">Demand</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CError%3E-for-CreateTxError%3CP%3E" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/error.rs.html#239-243">source</a><a href="#impl-From%3CError%3E-for-CreateTxError%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>> for <a class="enum" href="../error/enum.CreateTxError.html" title="enum bdk::wallet::error::CreateTxError">CreateTxError</a><P></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/error.rs.html#240-242">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>(err: <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Error" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-Send-for-Error" class="impl has-srclink"><a href="#impl-Send-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-Sync-for-Error" class="impl has-srclink"><a href="#impl-Sync-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-Unpin-for-Error" class="impl has-srclink"><a href="#impl-Unpin-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-UnwindSafe-for-Error" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Error" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Error" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Error" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Error" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#127">source</a><a href="#impl-Debug-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#127">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Display-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#144-158">source</a><a href="#impl-Display-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#145-157">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Error-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#161">source</a><a href="#impl-Error-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.source" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#83">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="rustdoc-toggle method-toggle" open><summary><section id="method.description" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#109">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="rustdoc-toggle method-toggle" open><summary><section id="method.cause" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#119">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="rustdoc-toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/error.rs.html#193">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, demand: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.Demand.html" title="struct core::any::Demand">Demand</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/nightly/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CError%3E-for-CreateTxError%3CP%3E" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/error.rs.html#239-243">source</a><a href="#impl-From%3CError%3E-for-CreateTxError%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>> for <a class="enum" href="../error/enum.CreateTxError.html" title="enum bdk::wallet::error::CreateTxError">CreateTxError</a><P></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/error.rs.html#240-242">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>(err: <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Error" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-Send-for-Error" class="impl has-srclink"><a href="#impl-Send-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-Sync-for-Error" class="impl has-srclink"><a href="#impl-Sync-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-Unpin-for-Error" class="impl has-srclink"><a href="#impl-Unpin-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section><section id="impl-UnwindSafe-for-Error" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Error" 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.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Error" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Error" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Error" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Error" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Remaining amount after performing coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, Excess"><title>Excess in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><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">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Excess</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Change">Change</a></li><li><a href="#variant.NoChange">NoChange</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-Excess">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Excess">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Excess">Send</a></li><li><a href="#impl-Sync-for-Excess">Sync</a></li><li><a href="#impl-Unpin-for-Excess">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Excess">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Excess">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Excess">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Excess">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-Excess">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-Excess">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-Excess">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Excess">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-Excess">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="enum" href="#">Excess</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#163-180">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>pub enum Excess {
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Excess</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Change">Change</a></li><li><a href="#variant.NoChange">NoChange</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-Excess">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Excess">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Excess">Send</a></li><li><a href="#impl-Sync-for-Excess">Sync</a></li><li><a href="#impl-Unpin-for-Excess">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Excess">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Excess">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Excess">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Excess">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-Excess">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-Excess">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-Excess">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Excess">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-Excess">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="enum" href="#">Excess</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#165-182">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>pub enum Excess {
NoChange {
dust_threshold: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
remaining_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
</div><section id="variant.Change" class="variant"><a href="#variant.Change" class="anchor">§</a><h3 class="code-header">Change</h3></section><div class="sub-variant" id="variant.Change.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Change.field.amount" class="small-section-header"><a href="#variant.Change.field.amount" class="anchor field">§</a><code>amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Effective amount available to create change after deducting the change output fee</p>
</div></div><div class="sub-variant-field"><span id="variant.Change.field.fee" class="small-section-header"><a href="#variant.Change.field.fee" class="anchor field">§</a><code>fee: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>The deducted change output fee</p>
</div></div></div><div class="docblock"><p>It’s possible to create spendable output from excess using the current drain output</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#161">source</a><a href="#impl-Debug-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#161">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="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Excess" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-Send-for-Excess" class="impl has-srclink"><a href="#impl-Send-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-Sync-for-Excess" class="impl has-srclink"><a href="#impl-Sync-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-Unpin-for-Excess" class="impl has-srclink"><a href="#impl-Unpin-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-UnwindSafe-for-Excess" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Excess" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Excess" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Excess" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Excess" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#163">source</a><a href="#impl-Debug-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#163">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="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Excess" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-Send-for-Excess" class="impl has-srclink"><a href="#impl-Send-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-Sync-for-Excess" class="impl has-srclink"><a href="#impl-Sync-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-Unpin-for-Excess" class="impl has-srclink"><a href="#impl-Unpin-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section><section id="impl-UnwindSafe-for-Excess" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Excess" 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.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Excess" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Excess" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Excess" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Excess" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Excess" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Excess" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decide if change can be created"><meta name="keywords" content="rust, rustlang, rust-lang, decide_change"><title>decide_change in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><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">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><div class="sidebar-elems"><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Function <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="fn" href="#">decide_change</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#311-330">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust fn"><code>pub fn decide_change(<br> remaining_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> drain_script: &Script<br>) -> <a class="enum" href="enum.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Decide if change can be created</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><div class="sidebar-elems"><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Function <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="fn" href="#">decide_change</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#313-332">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust fn"><code>pub fn decide_change(<br> remaining_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> drain_script: &Script<br>) -> <a class="enum" href="enum.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Decide if change can be created</p>
<ul>
<li><code>remaining_amount</code>: the amount in which the selected coins exceed the target amount</li>
<li><code>fee_rate</code>: required fee rate for the current selection</li>
<!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="Coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, coin_selection"><title>bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Module coin_selection</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="#">coin_selection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#12-1481">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Coin selection</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Module coin_selection</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="#">coin_selection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#12-1597">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Coin selection</p>
<p>This module provides the trait <a href="trait.CoinSelectionAlgorithm.html" title="CoinSelectionAlgorithm"><code>CoinSelectionAlgorithm</code></a> that can be implemented to
define custom coin selection algorithms.</p>
<p>You can specify a custom coin selection algorithm through the <a href="../tx_builder/struct.TxBuilder.html#method.coin_selection"><code>coin_selection</code></a> method on
<!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="Branch and bound coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, BranchAndBoundCoinSelection"><title>BranchAndBoundCoinSelection in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">BranchAndBoundCoinSelection</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-BranchAndBoundCoinSelection">Clone</a></li><li><a href="#impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection">CoinSelectionAlgorithm</a></li><li><a href="#impl-Debug-for-BranchAndBoundCoinSelection">Debug</a></li><li><a href="#impl-Default-for-BranchAndBoundCoinSelection">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-BranchAndBoundCoinSelection">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BranchAndBoundCoinSelection">Send</a></li><li><a href="#impl-Sync-for-BranchAndBoundCoinSelection">Sync</a></li><li><a href="#impl-Unpin-for-BranchAndBoundCoinSelection">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BranchAndBoundCoinSelection">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-BranchAndBoundCoinSelection">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-BranchAndBoundCoinSelection">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-BranchAndBoundCoinSelection">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-BranchAndBoundCoinSelection">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-BranchAndBoundCoinSelection">Into<U></a></li><li><a href="#impl-ToOwned-for-BranchAndBoundCoinSelection">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-BranchAndBoundCoinSelection">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-BranchAndBoundCoinSelection">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-BranchAndBoundCoinSelection">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">BranchAndBoundCoinSelection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#404-406">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct BranchAndBoundCoinSelection { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Branch and bound coin selection</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">BranchAndBoundCoinSelection</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-BranchAndBoundCoinSelection">Clone</a></li><li><a href="#impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection">CoinSelectionAlgorithm</a></li><li><a href="#impl-Debug-for-BranchAndBoundCoinSelection">Debug</a></li><li><a href="#impl-Default-for-BranchAndBoundCoinSelection">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-BranchAndBoundCoinSelection">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BranchAndBoundCoinSelection">Send</a></li><li><a href="#impl-Sync-for-BranchAndBoundCoinSelection">Sync</a></li><li><a href="#impl-Unpin-for-BranchAndBoundCoinSelection">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BranchAndBoundCoinSelection">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-BranchAndBoundCoinSelection">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-BranchAndBoundCoinSelection">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-BranchAndBoundCoinSelection">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-BranchAndBoundCoinSelection">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-BranchAndBoundCoinSelection">Into<U></a></li><li><a href="#impl-ToOwned-for-BranchAndBoundCoinSelection">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-BranchAndBoundCoinSelection">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-BranchAndBoundCoinSelection">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-BranchAndBoundCoinSelection">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">BranchAndBoundCoinSelection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#406-408">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct BranchAndBoundCoinSelection { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Branch and bound coin selection</p>
<p>Code adapted from Bitcoin Core’s implementation and from Mark Erhardt Master’s Thesis: <a href="http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf">http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf</a></p>
-</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#417-422">source</a><a href="#impl-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#419-421">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(size_of_change: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> Self</h4></section></summary><div class="docblock"><p>Create new instance with target size for change output</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#403">source</a><a href="#impl-Clone-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#403">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#426-535">source</a><a href="#impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.coin_select" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#427-534">source</a><a href="#method.coin_select" class="anchor">§</a><h4 class="code-header">fn <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class='docblock'>Perform the coin selection <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#403">source</a><a href="#impl-Debug-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#403">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#408-415">source</a><a href="#impl-Default-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#409-414">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-Send-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-Send-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-Sync-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-Sync-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-Unpin-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-Unpin-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-UnwindSafe-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-UnwindSafe-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-BranchAndBoundCoinSelection" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-BranchAndBoundCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-BranchAndBoundCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-BranchAndBoundCoinSelection" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#419-424">source</a><a href="#impl-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#421-423">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(size_of_change: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> Self</h4></section></summary><div class="docblock"><p>Create new instance with target size for change output</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#405">source</a><a href="#impl-Clone-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#405">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#428-537">source</a><a href="#impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.coin_select" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#429-536">source</a><a href="#method.coin_select" class="anchor">§</a><h4 class="code-header">fn <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class='docblock'>Perform the coin selection <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#405">source</a><a href="#impl-Debug-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#405">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#410-417">source</a><a href="#impl-Default-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#411-416">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-Send-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-Send-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-Sync-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-Sync-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-Unpin-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-Unpin-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-UnwindSafe-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a href="#impl-UnwindSafe-for-BranchAndBoundCoinSelection" 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.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-BranchAndBoundCoinSelection" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-BranchAndBoundCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-BranchAndBoundCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-BranchAndBoundCoinSelection" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Result of a successful coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, CoinSelectionResult"><title>CoinSelectionResult in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">CoinSelectionResult</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.excess">excess</a></li><li><a href="#structfield.fee_amount">fee_amount</a></li><li><a href="#structfield.selected">selected</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.local_selected_amount">local_selected_amount</a></li><li><a href="#method.selected_amount">selected_amount</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-CoinSelectionResult">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CoinSelectionResult">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CoinSelectionResult">Send</a></li><li><a href="#impl-Sync-for-CoinSelectionResult">Sync</a></li><li><a href="#impl-Unpin-for-CoinSelectionResult">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CoinSelectionResult">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CoinSelectionResult">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CoinSelectionResult">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CoinSelectionResult">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-CoinSelectionResult">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-CoinSelectionResult">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-CoinSelectionResult">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-CoinSelectionResult">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-CoinSelectionResult">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">CoinSelectionResult</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#184-191">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct CoinSelectionResult {
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">CoinSelectionResult</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.excess">excess</a></li><li><a href="#structfield.fee_amount">fee_amount</a></li><li><a href="#structfield.selected">selected</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.local_selected_amount">local_selected_amount</a></li><li><a href="#method.selected_amount">selected_amount</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-CoinSelectionResult">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CoinSelectionResult">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CoinSelectionResult">Send</a></li><li><a href="#impl-Sync-for-CoinSelectionResult">Sync</a></li><li><a href="#impl-Unpin-for-CoinSelectionResult">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CoinSelectionResult">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CoinSelectionResult">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CoinSelectionResult">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CoinSelectionResult">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-CoinSelectionResult">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-CoinSelectionResult">Into<U></a></li><li><a href="#impl-TryFrom%3CU%3E-for-CoinSelectionResult">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-CoinSelectionResult">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-CoinSelectionResult">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">CoinSelectionResult</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#186-193">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct CoinSelectionResult {
pub selected: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="../../enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>>,
pub fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
pub excess: <a class="enum" href="enum.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a>,
</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.selected" class="structfield small-section-header"><a href="#structfield.selected" class="anchor field">§</a><code>selected: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="../../enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>></code></span><div class="docblock"><p>List of outputs selected for use as inputs</p>
</div><span id="structfield.fee_amount" class="structfield small-section-header"><a href="#structfield.fee_amount" class="anchor field">§</a><code>fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Total fee amount for the selected utxos in satoshis</p>
</div><span id="structfield.excess" class="structfield small-section-header"><a href="#structfield.excess" class="anchor field">§</a><code>excess: <a class="enum" href="enum.Excess.html" title="enum bdk::wallet::coin_selection::Excess">Excess</a></code></span><div class="docblock"><p>Remaining amount after deducing fees and outgoing outputs</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#193-209">source</a><a href="#impl-CoinSelectionResult" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.selected_amount" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#195-197">source</a><h4 class="code-header">pub fn <a href="#method.selected_amount" class="fn">selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>The total value of the inputs selected.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.local_selected_amount" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#200-208">source</a><h4 class="code-header">pub fn <a href="#method.local_selected_amount" class="fn">local_selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>The total value of the inputs selected from the local wallet.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#183">source</a><a href="#impl-Debug-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#183">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="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-Send-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-Send-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-Sync-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-Sync-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-Unpin-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-Unpin-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-UnwindSafe-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-UnwindSafe-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-CoinSelectionResult" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-CoinSelectionResult" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-CoinSelectionResult" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-CoinSelectionResult" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#195-211">source</a><a href="#impl-CoinSelectionResult" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.selected_amount" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#197-199">source</a><h4 class="code-header">pub fn <a href="#method.selected_amount" class="fn">selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>The total value of the inputs selected.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.local_selected_amount" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#202-210">source</a><h4 class="code-header">pub fn <a href="#method.local_selected_amount" class="fn">local_selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>The total value of the inputs selected from the local wallet.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#185">source</a><a href="#impl-Debug-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#185">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="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-Send-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-Send-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-Sync-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-Sync-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-Unpin-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-Unpin-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section><section id="impl-UnwindSafe-for-CoinSelectionResult" class="impl has-srclink"><a href="#impl-UnwindSafe-for-CoinSelectionResult" 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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-CoinSelectionResult" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-CoinSelectionResult" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-CoinSelectionResult" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-CoinSelectionResult" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CoinSelectionResult" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-CoinSelectionResult" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Simple and dumb coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, LargestFirstCoinSelection"><title>LargestFirstCoinSelection in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">LargestFirstCoinSelection</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-LargestFirstCoinSelection">Clone</a></li><li><a href="#impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection">CoinSelectionAlgorithm</a></li><li><a href="#impl-Copy-for-LargestFirstCoinSelection">Copy</a></li><li><a href="#impl-Debug-for-LargestFirstCoinSelection">Debug</a></li><li><a href="#impl-Default-for-LargestFirstCoinSelection">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-LargestFirstCoinSelection">RefUnwindSafe</a></li><li><a href="#impl-Send-for-LargestFirstCoinSelection">Send</a></li><li><a href="#impl-Sync-for-LargestFirstCoinSelection">Sync</a></li><li><a href="#impl-Unpin-for-LargestFirstCoinSelection">Unpin</a></li><li><a href="#impl-UnwindSafe-for-LargestFirstCoinSelection">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-LargestFirstCoinSelection">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-LargestFirstCoinSelection">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-LargestFirstCoinSelection">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-LargestFirstCoinSelection">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-LargestFirstCoinSelection">Into<U></a></li><li><a href="#impl-ToOwned-for-LargestFirstCoinSelection">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-LargestFirstCoinSelection">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-LargestFirstCoinSelection">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-LargestFirstCoinSelection">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">LargestFirstCoinSelection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#246">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct LargestFirstCoinSelection;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Simple and dumb coin selection</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">LargestFirstCoinSelection</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-LargestFirstCoinSelection">Clone</a></li><li><a href="#impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection">CoinSelectionAlgorithm</a></li><li><a href="#impl-Copy-for-LargestFirstCoinSelection">Copy</a></li><li><a href="#impl-Debug-for-LargestFirstCoinSelection">Debug</a></li><li><a href="#impl-Default-for-LargestFirstCoinSelection">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-LargestFirstCoinSelection">RefUnwindSafe</a></li><li><a href="#impl-Send-for-LargestFirstCoinSelection">Send</a></li><li><a href="#impl-Sync-for-LargestFirstCoinSelection">Sync</a></li><li><a href="#impl-Unpin-for-LargestFirstCoinSelection">Unpin</a></li><li><a href="#impl-UnwindSafe-for-LargestFirstCoinSelection">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-LargestFirstCoinSelection">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-LargestFirstCoinSelection">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-LargestFirstCoinSelection">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-LargestFirstCoinSelection">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-LargestFirstCoinSelection">Into<U></a></li><li><a href="#impl-ToOwned-for-LargestFirstCoinSelection">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-LargestFirstCoinSelection">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-LargestFirstCoinSelection">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-LargestFirstCoinSelection">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">LargestFirstCoinSelection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#248">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct LargestFirstCoinSelection;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Simple and dumb coin selection</p>
<p>This coin selection algorithm sorts the available UTXOs by value and then picks them starting
from the largest ones until the required amount is reached.</p>
-</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">source</a><a href="#impl-Clone-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#248-269">source</a><a href="#impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.coin_select" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#249-268">source</a><a href="#method.coin_select" class="anchor">§</a><h4 class="code-header">fn <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class='docblock'>Perform the coin selection <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">source</a><a href="#impl-Debug-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">source</a><a href="#impl-Default-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><section id="impl-Copy-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#245">source</a><a href="#impl-Copy-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-Send-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Send-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-Sync-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Sync-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-Unpin-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Unpin-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-UnwindSafe-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-UnwindSafe-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-LargestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-LargestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-LargestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-LargestFirstCoinSelection" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">source</a><a href="#impl-Clone-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#250-271">source</a><a href="#impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.coin_select" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#251-270">source</a><a href="#method.coin_select" class="anchor">§</a><h4 class="code-header">fn <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class='docblock'>Perform the coin selection <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">source</a><a href="#impl-Debug-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">source</a><a href="#impl-Default-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><section id="impl-Copy-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#247">source</a><a href="#impl-Copy-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-Send-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Send-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-Sync-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Sync-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-Unpin-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Unpin-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-UnwindSafe-for-LargestFirstCoinSelection" class="impl has-srclink"><a href="#impl-UnwindSafe-for-LargestFirstCoinSelection" 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.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-LargestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-LargestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-LargestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-LargestFirstCoinSelection" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="OldestFirstCoinSelection always picks the utxo with the smallest blockheight to add to the selected coins next"><meta name="keywords" content="rust, rustlang, rust-lang, OldestFirstCoinSelection"><title>OldestFirstCoinSelection in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">OldestFirstCoinSelection</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-OldestFirstCoinSelection">Clone</a></li><li><a href="#impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection">CoinSelectionAlgorithm</a></li><li><a href="#impl-Copy-for-OldestFirstCoinSelection">Copy</a></li><li><a href="#impl-Debug-for-OldestFirstCoinSelection">Debug</a></li><li><a href="#impl-Default-for-OldestFirstCoinSelection">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-OldestFirstCoinSelection">RefUnwindSafe</a></li><li><a href="#impl-Send-for-OldestFirstCoinSelection">Send</a></li><li><a href="#impl-Sync-for-OldestFirstCoinSelection">Sync</a></li><li><a href="#impl-Unpin-for-OldestFirstCoinSelection">Unpin</a></li><li><a href="#impl-UnwindSafe-for-OldestFirstCoinSelection">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-OldestFirstCoinSelection">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-OldestFirstCoinSelection">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-OldestFirstCoinSelection">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-OldestFirstCoinSelection">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-OldestFirstCoinSelection">Into<U></a></li><li><a href="#impl-ToOwned-for-OldestFirstCoinSelection">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-OldestFirstCoinSelection">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-OldestFirstCoinSelection">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-OldestFirstCoinSelection">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">OldestFirstCoinSelection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#276">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct OldestFirstCoinSelection;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>OldestFirstCoinSelection always picks the utxo with the smallest blockheight to add to the selected coins next</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">OldestFirstCoinSelection</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-OldestFirstCoinSelection">Clone</a></li><li><a href="#impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection">CoinSelectionAlgorithm</a></li><li><a href="#impl-Copy-for-OldestFirstCoinSelection">Copy</a></li><li><a href="#impl-Debug-for-OldestFirstCoinSelection">Debug</a></li><li><a href="#impl-Default-for-OldestFirstCoinSelection">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-OldestFirstCoinSelection">RefUnwindSafe</a></li><li><a href="#impl-Send-for-OldestFirstCoinSelection">Send</a></li><li><a href="#impl-Sync-for-OldestFirstCoinSelection">Sync</a></li><li><a href="#impl-Unpin-for-OldestFirstCoinSelection">Unpin</a></li><li><a href="#impl-UnwindSafe-for-OldestFirstCoinSelection">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-OldestFirstCoinSelection">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-OldestFirstCoinSelection">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-OldestFirstCoinSelection">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-OldestFirstCoinSelection">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-OldestFirstCoinSelection">Into<U></a></li><li><a href="#impl-ToOwned-for-OldestFirstCoinSelection">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-OldestFirstCoinSelection">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-OldestFirstCoinSelection">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-OldestFirstCoinSelection">VZip<V></a></li></ul></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="#">OldestFirstCoinSelection</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#278">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct OldestFirstCoinSelection;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>OldestFirstCoinSelection always picks the utxo with the smallest blockheight to add to the selected coins next</p>
<p>This coin selection algorithm sorts the available UTXOs by blockheight and then picks them starting
from the oldest ones until the required amount is reached.</p>
-</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">source</a><a href="#impl-Clone-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#278-304">source</a><a href="#impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.coin_select" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#279-303">source</a><a href="#method.coin_select" class="anchor">§</a><h4 class="code-header">fn <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class='docblock'>Perform the coin selection <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">source</a><a href="#impl-Debug-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">source</a><a href="#impl-Default-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><section id="impl-Copy-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#275">source</a><a href="#impl-Copy-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-Send-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Send-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-Sync-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Sync-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-Unpin-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Unpin-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-UnwindSafe-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-UnwindSafe-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-OldestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-OldestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-OldestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-OldestFirstCoinSelection" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">source</a><a href="#impl-Clone-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#280-306">source</a><a href="#impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.coin_select" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#281-305">source</a><a href="#method.coin_select" class="anchor">§</a><h4 class="code-header">fn <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class='docblock'>Perform the coin selection <a href="trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">source</a><a href="#impl-Debug-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">source</a><a href="#impl-Default-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><section id="impl-Copy-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#277">source</a><a href="#impl-Copy-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-Send-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Send-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-Sync-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Sync-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-Unpin-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-Unpin-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section><section id="impl-UnwindSafe-for-OldestFirstCoinSelection" class="impl has-srclink"><a href="#impl-UnwindSafe-for-OldestFirstCoinSelection" 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.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-OldestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-OldestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-OldestFirstCoinSelection" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-OldestFirstCoinSelection" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait for generalized coin selection algorithms"><meta name="keywords" content="rust, rustlang, rust-lang, CoinSelectionAlgorithm"><title>CoinSelectionAlgorithm in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">CoinSelectionAlgorithm</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.coin_select">coin_select</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="trait" href="#">CoinSelectionAlgorithm</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#217-239">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait CoinSelectionAlgorithm: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">CoinSelectionAlgorithm</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.coin_select">coin_select</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="trait" href="#">CoinSelectionAlgorithm</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#219-241">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait CoinSelectionAlgorithm: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
fn <a href="#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br> ) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>>;
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for generalized coin selection algorithms</p>
<p>This trait can be implemented to make the <a href="../struct.Wallet.html"><code>Wallet</code></a> use a customized coin
selection algorithm when it creates transactions.</p>
<p>For an example see <a href="index.html">this module</a>’s documentation.</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.coin_select" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#231-238">source</a><h4 class="code-header">fn <a href="#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class="docblock"><p>Perform the coin selection</p>
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.coin_select" class="method has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#233-240">source</a><h4 class="code-header">fn <a href="#tymethod.coin_select" class="fn">coin_select</a>(<br> &self,<br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>,<br> fee_rate: <a class="struct" href="../../struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>,<br> target_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,<br> drain_script: &Script<br>) -> <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.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="enum.Error.html" title="enum bdk::wallet::coin_selection::Error">Error</a>></h4></section></summary><div class="docblock"><p>Perform the coin selection</p>
<ul>
<li><code>database</code>: a reference to the wallet’s database that can be used to lookup additional
details for a specific UTXO</li>
accumulated from added outputs and transaction’s header.</li>
<li><code>drain_script</code>: the script to use in case of change</li>
</ul>
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#426-535">source</a><a href="#impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#248-269">source</a><a href="#impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#278-304">source</a><a href="#impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></div><script src="../../../implementors/bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#428-537">source</a><a href="#impl-CoinSelectionAlgorithm-for-BranchAndBoundCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></h3></section><section id="impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#250-271">source</a><a href="#impl-CoinSelectionAlgorithm-for-LargestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></h3></section><section id="impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="impl has-srclink"><a class="srclink rightside" href="../../../src/bdk/wallet/coin_selection.rs.html#280-306">source</a><a href="#impl-CoinSelectionAlgorithm-for-OldestFirstCoinSelection" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a> for <a class="struct" href="struct.OldestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::OldestFirstCoinSelection">OldestFirstCoinSelection</a></h3></section></div><script src="../../../implementors/bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Default coin selection algorithm used by `TxBuilder` if not overridden"><meta name="keywords" content="rust, rustlang, rust-lang, DefaultCoinSelectionAlgorithm"><title>DefaultCoinSelectionAlgorithm in bdk::wallet::coin_selection - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">DefaultCoinSelectionAlgorithm</a></h2><div class="sidebar-elems"><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="type" href="#">DefaultCoinSelectionAlgorithm</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#118">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust typedef"><code>pub type DefaultCoinSelectionAlgorithm = <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a>;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Default coin selection algorithm used by <a href="../tx_builder/struct.TxBuilder.html"><code>TxBuilder</code></a> if not
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">DefaultCoinSelectionAlgorithm</a></h2><div class="sidebar-elems"><h2><a href="index.html">In bdk::wallet::coin_selection</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="type" href="#">DefaultCoinSelectionAlgorithm</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#120">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust typedef"><code>pub type DefaultCoinSelectionAlgorithm = <a class="struct" href="struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a>;</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Default coin selection algorithm used by <a href="../tx_builder/struct.TxBuilder.html"><code>TxBuilder</code></a> if not
overridden</p>
</div></details></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Deterministically generate a unique name given the descriptors defining the wallet"><meta name="keywords" content="rust, rustlang, rust-lang, wallet_name_from_descriptor"><title>wallet_name_from_descriptor in bdk::wallet - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><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">☰</button><a class="sidebar-logo" href="../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><div class="sidebar-elems"><h2><a href="index.html">In bdk::wallet</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="fn" href="#">wallet_name_from_descriptor</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#2497-2523">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust fn"><code>pub fn wallet_name_from_descriptor<T>(<br> descriptor: T,<br> 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>,<br> network: Network,<br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>><span class="where fmt-newline">where<br> T: <a class="trait" href="../descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>,</span></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Deterministically generate a unique name given the descriptors defining the wallet</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><div class="sidebar-elems"><h2><a href="index.html">In bdk::wallet</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="fn" href="#">wallet_name_from_descriptor</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#2500-2526">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust fn"><code>pub fn wallet_name_from_descriptor<T>(<br> descriptor: T,<br> 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>,<br> network: Network,<br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>><span class="where fmt-newline">where<br> T: <a class="trait" href="../descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>,</span></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Deterministically generate a unique name given the descriptors defining the wallet</p>
<p>Compatible with <a href="fn.wallet_name_from_descriptor.html" title="wallet_name_from_descriptor"><code>wallet_name_from_descriptor</code></a></p>
</div></details></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Wallet"><meta name="keywords" content="rust, rustlang, rust-lang, wallet"><title>bdk::wallet - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Module wallet</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="#">wallet</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#12-2599">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Wallet</p>
+ <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location"><a href="#">Module wallet</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="#">wallet</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#12-2602">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Wallet</p>
<p>This module defines the <a href="struct.Wallet.html" title="Wallet"><code>Wallet</code></a>.</p>
</div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="coin_selection/index.html" title="bdk::wallet::coin_selection mod">coin_selection</a></div><div class="item-right docblock-short">Coin selection</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="error/index.html" title="bdk::wallet::error mod">error</a></div><div class="item-right docblock-short">Errors that can be thrown by the <a href="struct.Wallet.html"><code>Wallet</code></a></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="export/index.html" title="bdk::wallet::export mod">export</a></div><div class="item-right docblock-short">Wallet export</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="signer/index.html" title="bdk::wallet::signer mod">signer</a></div><div class="item-right docblock-short">Generalized signers</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="tx_builder/index.html" title="bdk::wallet::tx_builder mod">tx_builder</a></div><div class="item-right docblock-short">Transaction builder</div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AddressInfo.html" title="bdk::wallet::AddressInfo struct">AddressInfo</a></div><div class="item-right docblock-short">A derived address and the index it was found at.
For convenience this automatically derefs to <code>Address</code></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Balance.html" title="bdk::wallet::Balance struct">Balance</a></div><div class="item-right docblock-short">Balance, differentiated into various categories.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ChangeSet.html" title="bdk::wallet::ChangeSet struct">ChangeSet</a></div><div class="item-right docblock-short">The changes made to a wallet by applying an <a href="struct.Update.html" title="Update"><code>Update</code></a>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Update.html" title="bdk::wallet::Update struct">Update</a></div><div class="item-right docblock-short">An update to <a href="struct.Wallet.html" title="Wallet"><code>Wallet</code></a>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Wallet.html" title="bdk::wallet::Wallet struct">Wallet</a></div><div class="item-right docblock-short">A Bitcoin wallet</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.AddressIndex.html" title="bdk::wallet::AddressIndex enum">AddressIndex</a></div><div class="item-right docblock-short">The address index selection strategy to use to derived an address from the wallet’s external
<h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
<p>This panics when the caller requests for an address of derivation index greater than the
BIP32 max index.</p>
-</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Wallet%3CD%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#492-2486">source</a><a href="#impl-Wallet%3CD%3E-1" class="anchor">§</a><h3 class="code-header">impl<D> <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#494-505">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a><E: <a class="trait" href="../descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E,<br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>,<br> db: D,<br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="enum.NewError.html" title="enum bdk::wallet::NewError">NewError</a><D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Initialize an empty <a href="struct.Wallet.html" title="Wallet"><code>Wallet</code></a>.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Wallet%3CD%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#492-2489">source</a><a href="#impl-Wallet%3CD%3E-1" class="anchor">§</a><h3 class="code-header">impl<D> <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#494-505">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a><E: <a class="trait" href="../descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E,<br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>,<br> db: D,<br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="enum.NewError.html" title="enum bdk::wallet::NewError">NewError</a><D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Initialize an empty <a href="struct.Wallet.html" title="Wallet"><code>Wallet</code></a>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new_with_genesis_hash" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#511-553">source</a><h4 class="code-header">pub fn <a href="#method.new_with_genesis_hash" class="fn">new_with_genesis_hash</a><E: <a class="trait" href="../descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E,<br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>,<br> db: D,<br> network: Network,<br> genesis_hash: BlockHash<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="enum.NewError.html" title="enum bdk::wallet::NewError">NewError</a><D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Initialize an empty <a href="struct.Wallet.html" title="Wallet"><code>Wallet</code></a> with a custom genesis hash.</p>
<p>This is like <a href="struct.Wallet.html#method.new" title="Wallet::new"><code>Wallet::new</code></a> with an additional <code>genesis_hash</code> parameter. This is useful
for syncing from alternative networks.</p>
</span>};
<span class="comment">// sign and broadcast ...</span></code></pre></div>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.build_fee_bump" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1668-1796">source</a><h4 class="code-header">pub fn <a href="#method.build_fee_bump" class="fn">build_fee_bump</a>(<br> &mut self,<br> txid: Txid<br>) -> <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><'_, D, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</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>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.build_fee_bump" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1671-1799">source</a><h4 class="code-header">pub fn <a href="#method.build_fee_bump" class="fn">build_fee_bump</a>(<br> &mut self,<br> txid: Txid<br>) -> <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><'_, D, <a class="type" href="coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</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>
<p>Returns an error if the transaction is already confirmed or doesn’t explicitly signal
<em>replace by fee</em> (RBF). If the transaction can be fee bumped then it returns a <a href="tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a>
pre-populated with the inputs and outputs of the original transaction.</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="rustdoc-toggle method-toggle" open><summary><section id="method.sign" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1826-1877">source</a><h4 class="code-header">pub fn <a href="#method.sign" class="fn">sign</a>(<br> &self,<br> psbt: &mut PartiallySignedTransaction,<br> sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk::wallet::signer::SignOptions">SignOptions</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="enum" href="signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></h4></section></summary><div class="docblock"><p>Sign a transaction with all the wallet’s signers, in the order specified by every signer’s
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sign" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1829-1880">source</a><h4 class="code-header">pub fn <a href="#method.sign" class="fn">sign</a>(<br> &self,<br> psbt: &mut PartiallySignedTransaction,<br> sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk::wallet::signer::SignOptions">SignOptions</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="enum" href="signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></h4></section></summary><div class="docblock"><p>Sign a transaction with all the wallet’s signers, in the order specified by every signer’s
<a href="signer/struct.SignerOrdering.html" title="SignerOrdering"><code>SignerOrdering</code></a>. This function returns the <code>Result</code> type with an encapsulated <code>bool</code> that has the value true if the PSBT was finalized, or false otherwise.</p>
<p>The <a href="signer/struct.SignOptions.html" title="SignOptions"><code>SignOptions</code></a> can be used to tweak the behavior of the software signers, and the way
the transaction is finalized at the end. Note that it can’t be guaranteed that <em>every</em>
</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="rustdoc-toggle method-toggle" open><summary><section id="method.policies" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1880-1890">source</a><h4 class="code-header">pub fn <a href="#method.policies" class="fn">policies</a>(<br> &self,<br> keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <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::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../descriptor/error/enum.Error.html" title="enum bdk::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="rustdoc-toggle method-toggle" open><summary><section id="method.public_descriptor" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1896-1898">source</a><h4 class="code-header">pub fn <a href="#method.public_descriptor" class="fn">public_descriptor</a>(<br> &self,<br> keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <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="../descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>></h4></section></summary><div class="docblock"><p>Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.policies" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1883-1893">source</a><h4 class="code-header">pub fn <a href="#method.policies" class="fn">policies</a>(<br> &self,<br> keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <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::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../descriptor/error/enum.Error.html" title="enum bdk::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="rustdoc-toggle method-toggle" open><summary><section id="method.public_descriptor" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1899-1901">source</a><h4 class="code-header">pub fn <a href="#method.public_descriptor" class="fn">public_descriptor</a>(<br> &self,<br> keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <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="../descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>></h4></section></summary><div class="docblock"><p>Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has
the same structure but with every secret key removed</p>
<p>This can be used to build a watch-only version of a wallet</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.finalize_psbt" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1908-1988">source</a><h4 class="code-header">pub fn <a href="#method.finalize_psbt" class="fn">finalize_psbt</a>(<br> &self,<br> psbt: &mut PartiallySignedTransaction,<br> sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk::wallet::signer::SignOptions">SignOptions</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="enum" href="signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></h4></section></summary><div class="docblock"><p>Finalize a PSBT, i.e., for each input determine if sufficient data is available to pass
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.finalize_psbt" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1911-1991">source</a><h4 class="code-header">pub fn <a href="#method.finalize_psbt" class="fn">finalize_psbt</a>(<br> &self,<br> psbt: &mut PartiallySignedTransaction,<br> sign_options: <a class="struct" href="signer/struct.SignOptions.html" title="struct bdk::wallet::signer::SignOptions">SignOptions</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="enum" href="signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></h4></section></summary><div class="docblock"><p>Finalize a PSBT, i.e., for each input determine if sufficient data is available to pass
validation and construct the respective <code>scriptSig</code> or <code>scriptWitness</code>. Please refer to
<a href="https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#Input_Finalizer">BIP174</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="SignOptions"><code>SignOptions</code></a> can be used to tweak the behavior of the finalizer.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.secp_ctx" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1991-1993">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="rustdoc-toggle method-toggle" open><summary><section id="method.get_descriptor_for_keychain" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1996-1999">source</a><h4 class="code-header">pub fn <a href="#method.get_descriptor_for_keychain" class="fn">get_descriptor_for_keychain</a>(<br> &self,<br> keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> &<a class="type" href="../descriptor/type.ExtendedDescriptor.html" title="type bdk::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="rustdoc-toggle method-toggle" open><summary><section id="method.derivation_index" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2003-2005">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::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="rustdoc-toggle method-toggle" open><summary><section id="method.secp_ctx" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1994-1996">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="rustdoc-toggle method-toggle" open><summary><section id="method.get_descriptor_for_keychain" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#1999-2002">source</a><h4 class="code-header">pub fn <a href="#method.get_descriptor_for_keychain" class="fn">get_descriptor_for_keychain</a>(<br> &self,<br> keychain: <a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> &<a class="type" href="../descriptor/type.ExtendedDescriptor.html" title="type bdk::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="rustdoc-toggle method-toggle" open><summary><section id="method.derivation_index" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2006-2008">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::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="rustdoc-toggle method-toggle" open><summary><section id="method.next_derivation_index" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2008-2010">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::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="rustdoc-toggle method-toggle" open><summary><section id="method.cancel_tx" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2016-2025">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="rustdoc-toggle method-toggle" open><summary><section id="method.next_derivation_index" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2011-2013">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::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="rustdoc-toggle method-toggle" open><summary><section id="method.cancel_tx" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2019-2028">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="rustdoc-toggle method-toggle" open><summary><section id="method.get_psbt_input" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2241-2282">source</a><h4 class="code-header">pub fn <a href="#method.get_psbt_input" class="fn">get_psbt_input</a>(<br> &self,<br> utxo: <a class="struct" href="../struct.LocalOutput.html" title="struct bdk::LocalOutput">LocalOutput</a>,<br> 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>,<br> only_witness_utxo: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <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><D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>get the corresponding PSBT Input for a LocalUtxo</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.descriptor_checksum" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2330-2337">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::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="rustdoc-toggle method-toggle" open><summary><section id="method.get_psbt_input" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2244-2285">source</a><h4 class="code-header">pub fn <a href="#method.get_psbt_input" class="fn">get_psbt_input</a>(<br> &self,<br> utxo: <a class="struct" href="../struct.LocalOutput.html" title="struct bdk::LocalOutput">LocalOutput</a>,<br> 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>,<br> only_witness_utxo: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <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><D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>get the corresponding PSBT Input for a LocalUtxo</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.descriptor_checksum" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2333-2340">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::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.get_descriptor_for_keychain" title="Self::get_descriptor_for_keychain"><code>Self::get_descriptor_for_keychain</code></a> to fetch the right descriptor</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_update" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2345-2367">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(&mut self, update: <a class="struct" href="struct.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>, <a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Applies an update to the wallet and stages the changes (but does not <a href="struct.Wallet.html#method.commit"><code>commit</code></a> them).</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_update" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2348-2370">source</a><h4 class="code-header">pub fn <a href="#method.apply_update" class="fn">apply_update</a>(&mut self, update: <a class="struct" href="struct.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>, <a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Applies an update to the wallet and stages the changes (but does not <a href="struct.Wallet.html#method.commit"><code>commit</code></a> them).</p>
<p>Usually you create an <code>update</code> by interacting with some blockchain data source and inserting
transactions related to your wallet into it.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.commit" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2375-2380">source</a><h4 class="code-header">pub fn <a href="#method.commit" class="fn">commit</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Commits all currently <a href="struct.Wallet.html#method.staged"><code>staged</code></a> changed to the persistence backend returning and error when
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.commit" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2378-2383">source</a><h4 class="code-header">pub fn <a href="#method.commit" class="fn">commit</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, D::<a class="associatedtype" href="../../bdk_chain/persist/trait.PersistBackend.html#associatedtype.WriteError" title="type bdk_chain::persist::PersistBackend::WriteError">WriteError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Commits all currently <a href="struct.Wallet.html#method.staged"><code>staged</code></a> changed to the persistence backend returning and error when
this fails.</p>
<p>This returns whether the <code>update</code> resulted in any changes.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.staged" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2385-2390">source</a><h4 class="code-header">pub fn <a href="#method.staged" class="fn">staged</a>(&self) -> &<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Returns the changes that will be committed with the next call to <a href="struct.Wallet.html#method.commit"><code>commit</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tx_graph" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2393-2395">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.spk_index" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2398-2400">source</a><h4 class="code-header">pub fn <a href="#method.spk_index" class="fn">spk_index</a>(&self) -> &<a class="struct" href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.local_chain" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2403-2405">source</a><h4 class="code-header">pub fn <a href="#method.local_chain" class="fn">local_chain</a>(&self) -> &<a class="struct" href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain">LocalChain</a></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="LocalChain"><code>LocalChain</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_block" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2414-2435">source</a><h4 class="code-header">pub fn <a href="#method.apply_block" class="fn">apply_block</a>(<br> &mut self,<br> block: &Block,<br> height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Introduces a <code>block</code> of <code>height</code> to the wallet, and tries to connect it to the
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.staged" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2388-2393">source</a><h4 class="code-header">pub fn <a href="#method.staged" class="fn">staged</a>(&self) -> &<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Returns the changes that will be committed with the next call to <a href="struct.Wallet.html#method.commit"><code>commit</code></a>.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tx_graph" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2396-2398">source</a><h4 class="code-header">pub fn <a href="#method.tx_graph" class="fn">tx_graph</a>(&self) -> &<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a>.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.spk_index" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2401-2403">source</a><h4 class="code-header">pub fn <a href="#method.spk_index" class="fn">spk_index</a>(&self) -> &<a class="struct" href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="struct bdk_chain::keychain::txout_index::KeychainTxOutIndex">KeychainTxOutIndex</a><<a class="enum" href="../enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/keychain/txout_index/struct.KeychainTxOutIndex.html" title="KeychainTxOutIndex"><code>KeychainTxOutIndex</code></a>.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.local_chain" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2406-2408">source</a><h4 class="code-header">pub fn <a href="#method.local_chain" class="fn">local_chain</a>(&self) -> &<a class="struct" href="../../bdk_chain/local_chain/struct.LocalChain.html" title="struct bdk_chain::local_chain::LocalChain">LocalChain</a></h4></section></summary><div class="docblock"><p>Get a reference to the inner <a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="LocalChain"><code>LocalChain</code></a>.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_block" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2417-2438">source</a><h4 class="code-header">pub fn <a href="#method.apply_block" class="fn">apply_block</a>(<br> &mut self,<br> block: &Block,<br> height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../bdk_chain/local_chain/struct.CannotConnectError.html" title="struct bdk_chain::local_chain::CannotConnectError">CannotConnectError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Introduces a <code>block</code> of <code>height</code> to the wallet, and tries to connect it to the
<code>prev_blockhash</code> of the block’s header.</p>
<p>This is a convenience method that is equivalent to calling <a href="struct.Wallet.html#method.apply_block_connected_to"><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="rustdoc-toggle method-toggle" open><summary><section id="method.apply_block_connected_to" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2443-2465">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_connected_to" class="fn">apply_block_connected_to</a>(<br> &mut self,<br> block: &Block,<br> height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,<br> connected_to: <a class="struct" href="../../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId">BlockId</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk_chain/local_chain/enum.ApplyHeaderError.html" title="enum bdk_chain::local_chain::ApplyHeaderError">ApplyHeaderError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Applies relevant transactions from <code>block</code> of <code>height</code> to the wallet, and connects the
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_block_connected_to" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2446-2468">source</a><h4 class="code-header">pub fn <a href="#method.apply_block_connected_to" class="fn">apply_block_connected_to</a>(<br> &mut self,<br> block: &Block,<br> height: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,<br> connected_to: <a class="struct" href="../../bdk_chain/chain_data/struct.BlockId.html" title="struct bdk_chain::chain_data::BlockId">BlockId</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk_chain/local_chain/enum.ApplyHeaderError.html" title="enum bdk_chain::local_chain::ApplyHeaderError">ApplyHeaderError</a>><span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Applies relevant transactions from <code>block</code> of <code>height</code> to the wallet, and connects the
block to the internal chain.</p>
<p>The <code>connected_to</code> parameter informs the wallet how this block connects to the internal
<a href="../../bdk_chain/local_chain/struct.LocalChain.html" title="LocalChain"><code>LocalChain</code></a>. Relevant transactions are filtered from the <code>block</code> and inserted into the
internal <a href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_unconfirmed_txs" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2475-2485">source</a><h4 class="code-header">pub fn <a href="#method.apply_unconfirmed_txs" class="fn">apply_unconfirmed_txs</a><'t>(<br> &mut self,<br> unconfirmed_txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (&'t Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)><br>)<span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Apply relevant unconfirmed transactions to the wallet.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.apply_unconfirmed_txs" class="method has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2478-2488">source</a><h4 class="code-header">pub fn <a href="#method.apply_unconfirmed_txs" class="fn">apply_unconfirmed_txs</a><'t>(<br> &mut self,<br> unconfirmed_txs: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = (&'t Transaction, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)><br>)<span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk_chain/persist/trait.PersistBackend.html" title="trait bdk_chain::persist::PersistBackend">PersistBackend</a><<a class="struct" href="struct.ChangeSet.html" title="struct bdk::wallet::ChangeSet">ChangeSet</a>>,</span></h4></section></summary><div class="docblock"><p>Apply relevant unconfirmed transactions to the wallet.</p>
<p>Transactions that are not relevant are filtered out.</p>
<p>This method takes in an iterator of <code>(tx, last_seen)</code> where <code>last_seen</code> is the timestamp of
when the transaction was last seen in the mempool. This is used for conflict resolution
when there is conflicting unconfirmed transactions. The transaction with the later
<code>last_seen</code> is prioritied.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2488-2492">source</a><a href="#impl-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2489-2491">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#85">source</a><a href="#impl-Debug-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#85">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="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section><section id="impl-Send-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-Send-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D><span class="where fmt-newline">where<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section><section id="impl-Sync-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-Sync-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D><span class="where fmt-newline">where<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section><section id="impl-Unpin-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-Unpin-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D><span class="where fmt-newline">where<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</span></h3></section><section id="impl-UnwindSafe-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Wallet%3CD%3E" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Wallet%3CD%3E" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Wallet%3CD%3E" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Wallet%3CD%3E" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2491-2495">source</a><a href="#impl-AsRef%3CTxGraph%3CConfirmationTimeHeightAnchor%3E%3E-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#2492-2494">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&self) -> &<a class="struct" href="../../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#85">source</a><a href="#impl-Debug-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/bdk/wallet/mod.rs.html#85">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="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section><section id="impl-Send-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-Send-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D><span class="where fmt-newline">where<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section><section id="impl-Sync-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-Sync-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D><span class="where fmt-newline">where<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section><section id="impl-Unpin-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-Unpin-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D><span class="where fmt-newline">where<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</span></h3></section><section id="impl-UnwindSafe-for-Wallet%3CD%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<D = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><D></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Wallet%3CD%3E" 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<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Wallet%3CD%3E" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><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">&</a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Wallet%3CD%3E" 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<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><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 </a>T</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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Wallet%3CD%3E" 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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Wallet%3CD%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Wallet%3CD%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p>
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="BDK Esplora"><meta name="keywords" content="rust, rustlang, rust-lang, bdk_esplora"><title>bdk_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Crate bdk_esplora</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 0.6.0</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Crate <a class="mod" href="#">bdk_esplora</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/bdk_esplora/lib.rs.html#1-52">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><h2 id="bdk-esplora"><a href="#bdk-esplora">BDK Esplora</a></h2>
+<!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="BDK Esplora"><meta name="keywords" content="rust, rustlang, rust-lang, bdk_esplora"><title>bdk_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Crate bdk_esplora</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 0.6.0</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Crate <a class="mod" href="#">bdk_esplora</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/bdk_esplora/lib.rs.html#1-50">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><h2 id="bdk-esplora"><a href="#bdk-esplora">BDK Esplora</a></h2>
<p>BDK Esplora extends <a href="https://docs.rs/esplora-client/"><code>esplora-client</code></a> to update <a href="https://docs.rs/bdk-chain/"><code>bdk_chain</code></a> structures
from an Esplora server.</p>
<h3 id="usage"><a href="#usage">Usage</a></h3>
-<!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="Trait to extend the functionality of [`esplora_client::AsyncClient`]."><meta name="keywords" content="rust, rustlang, rust-lang, EsploraAsyncExt"><title>EsploraAsyncExt in bdk_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">EsploraAsyncExt</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.full_scan">full_scan</a></li><li><a href="#tymethod.sync">sync</a></li><li><a href="#tymethod.update_local_chain">update_local_chain</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-EsploraAsyncExt-for-AsyncClient">AsyncClient</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk_esplora</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="index.html">bdk_esplora</a>::<wbr><a class="trait" href="#">EsploraAsyncExt</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/bdk_esplora/async_ext.rs.html#21-78">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait EsploraAsyncExt {
+<!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="Trait to extend the functionality of [`esplora_client::AsyncClient`]."><meta name="keywords" content="rust, rustlang, rust-lang, EsploraAsyncExt"><title>EsploraAsyncExt in bdk_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">EsploraAsyncExt</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.full_scan">full_scan</a></li><li><a href="#tymethod.sync">sync</a></li><li><a href="#tymethod.update_local_chain">update_local_chain</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-EsploraAsyncExt-for-AsyncClient">AsyncClient</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk_esplora</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="index.html">bdk_esplora</a>::<wbr><a class="trait" href="#">EsploraAsyncExt</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/bdk_esplora/async_ext.rs.html#21-84">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait EsploraAsyncExt {
fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a><'life0, 'async_trait>(<br> &'life0 self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a><br> ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><br> <span class="where">where<br> Self: 'async_trait,<br> 'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(<br> &'life0 self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br> ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><br> <span class="where">where<br> K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Self: 'async_trait,<br> 'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(<br> &'life0 self,<br> misc_spks: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> txids: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> outpoints: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br> ) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><br> <span class="where">where<br> Self: 'async_trait,<br> 'life0: 'async_trait</span>;
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait to extend the functionality of [<code>esplora_client::AsyncClient</code>].</p>
<p>Refer to <a href="index.html">crate-level documentation</a> for more.</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.update_local_chain" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#33-37">source</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a><'life0, 'async_trait>(<br> &'life0 self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></summary><div class="docblock"><p>Prepare a <a href="../bdk_chain/local_chain/struct.LocalChain.html"><code>LocalChain</code></a> update with blocks fetched from Esplora.</p>
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.update_local_chain" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#39-43">source</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a><'life0, 'async_trait>(<br> &'life0 self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></summary><div class="docblock"><p>Prepare a <a href="../bdk_chain/local_chain/struct.LocalChain.html"><code>LocalChain</code></a> update with blocks fetched from Esplora.</p>
<ul>
<li><code>local_tip</code> is the previous tip of <a href="../bdk_chain/local_chain/struct.LocalChain.html#method.tip"><code>LocalChain::tip</code></a>.</li>
<li><code>request_heights</code> is the block heights that we are interested in fetching from Esplora.</li>
</ul>
<p>The result of this method can be applied to <a href="../bdk_chain/local_chain/struct.LocalChain.html#method.apply_update"><code>LocalChain::apply_update</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.full_scan" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#48-56">source</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(<br> &'life0 self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></summary><div class="docblock"><p>Full scan the keychain scripts specified with the blockchain (via an Esplora client) and
+<h6 id="consistency"><a href="#consistency">Consistency</a></h6>
+<p>The chain update returned is guaranteed to be consistent as long as there is not a <em>large</em> re-org
+during the call. The size of re-org we can tollerate is server dependent but will be at
+least 10.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.full_scan" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#54-62">source</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(<br> &'life0 self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></summary><div class="docblock"><p>Full scan the keychain scripts specified with the blockchain (via an Esplora client) and
returns a <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a> and a map of last active indices.</p>
<ul>
<li><code>keychain_spks</code>: keychains that we want to scan transactions for</li>
<p>The full scan for each keychain stops after a gap of <code>stop_gap</code> script pubkeys with no associated
transactions. <code>parallel_requests</code> specifies the max number of HTTP requests to make in
parallel.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.sync" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#71-77">source</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(<br> &'life0 self,<br> misc_spks: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> txids: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> outpoints: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.sync" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#77-83">source</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(<br> &'life0 self,<br> misc_spks: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> txids: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> outpoints: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
specified and return a <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a>.</p>
<ul>
<li><code>misc_spks</code>: scripts that we want to sync transactions for</li>
</ul>
<p>If the scripts to sync are unknown, such as when restoring or importing a keychain that
may include scripts that have been used, use <a href="trait.EsploraAsyncExt.html#tymethod.full_scan"><code>full_scan</code></a> with the keychain.</p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-EsploraAsyncExt-for-AsyncClient" class="impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#82-339">source</a><a href="#impl-EsploraAsyncExt-for-AsyncClient" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.EsploraAsyncExt.html" title="trait bdk_esplora::EsploraAsyncExt">EsploraAsyncExt</a> for AsyncClient</h3></section></summary><div class="impl-items"><section id="method.update_local_chain" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#83-187">source</a><a href="#method.update_local_chain" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a><'life0, 'async_trait>(<br> &'life0 self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section><section id="method.full_scan" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#189-264">source</a><a href="#method.full_scan" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(<br> &'life0 self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section><section id="method.sync" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#266-338">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(<br> &'life0 self,<br> misc_spks: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> txids: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> outpoints: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../implementors/bdk_esplora/async_ext/trait.EsploraAsyncExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bdk_esplora" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-EsploraAsyncExt-for-AsyncClient" class="impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#88-302">source</a><a href="#impl-EsploraAsyncExt-for-AsyncClient" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.EsploraAsyncExt.html" title="trait bdk_esplora::EsploraAsyncExt">EsploraAsyncExt</a> for AsyncClient</h3></section></summary><div class="impl-items"><section id="method.update_local_chain" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#89-150">source</a><a href="#method.update_local_chain" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a><'life0, 'async_trait>(<br> &'life0 self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section><section id="method.full_scan" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#152-227">source</a><a href="#method.full_scan" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><'life0, 'async_trait, K>(<br> &'life0 self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> K: 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section><section id="method.sync" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/async_ext.rs.html#229-301">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a><'life0, 'async_trait>(<br> &'life0 self,<br> misc_spks: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = ScriptBuf> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> txids: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <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 = Txid> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> outpoints: impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><IntoIter = impl 'async_trait + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = OutPoint> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><span class="where fmt-newline">where<br> Self: 'async_trait,<br> 'life0: 'async_trait,</span></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../implementors/bdk_esplora/async_ext/trait.EsploraAsyncExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bdk_esplora" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Trait to extend the functionality of [`esplora_client::BlockingClient`]."><meta name="keywords" content="rust, rustlang, rust-lang, EsploraExt"><title>EsploraExt in bdk_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">EsploraExt</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.full_scan">full_scan</a></li><li><a href="#tymethod.sync">sync</a></li><li><a href="#tymethod.update_local_chain">update_local_chain</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-EsploraExt-for-BlockingClient">BlockingClient</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk_esplora</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="index.html">bdk_esplora</a>::<wbr><a class="trait" href="#">EsploraExt</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/bdk_esplora/blocking_ext.rs.html#19-73">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait EsploraExt {
+<!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="Trait to extend the functionality of [`esplora_client::BlockingClient`]."><meta name="keywords" content="rust, rustlang, rust-lang, EsploraExt"><title>EsploraExt in bdk_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../bdk_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">EsploraExt</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.full_scan">full_scan</a></li><li><a href="#tymethod.sync">sync</a></li><li><a href="#tymethod.update_local_chain">update_local_chain</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-EsploraExt-for-BlockingClient">BlockingClient</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In bdk_esplora</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="index.html">bdk_esplora</a>::<wbr><a class="trait" href="#">EsploraExt</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/bdk_esplora/blocking_ext.rs.html#19-79">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait EsploraExt {
fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a>(<br> &self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error>;
<span class="item-spacer"></span> fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(<br> &self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error>;
<span class="item-spacer"></span> fn <a href="#tymethod.sync" class="fn">sync</a>(<br> &self,<br> misc_spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = ScriptBuf>,<br> txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Txid>,<br> outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = OutPoint>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error>;
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait to extend the functionality of [<code>esplora_client::BlockingClient</code>].</p>
<p>Refer to <a href="index.html">crate-level documentation</a> for more.</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.update_local_chain" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#31-35">source</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a>(<br> &self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error></h4></section></summary><div class="docblock"><p>Prepare a <a href="../bdk_chain/local_chain/struct.LocalChain.html"><code>LocalChain</code></a> update with blocks fetched from Esplora.</p>
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.update_local_chain" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#37-41">source</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a>(<br> &self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error></h4></section></summary><div class="docblock"><p>Prepare a <a href="../bdk_chain/local_chain/struct.LocalChain.html"><code>LocalChain</code></a> update with blocks fetched from Esplora.</p>
<ul>
<li><code>local_tip</code> is the previous tip of <a href="../bdk_chain/local_chain/struct.LocalChain.html#method.tip"><code>LocalChain::tip</code></a>.</li>
<li><code>request_heights</code> is the block heights that we are interested in fetching from Esplora.</li>
</ul>
<p>The result of this method can be applied to <a href="../bdk_chain/local_chain/struct.LocalChain.html#method.apply_update"><code>LocalChain::apply_update</code></a>.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.full_scan" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#46-51">source</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(<br> &self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error></h4></section></summary><div class="docblock"><p>Full scan the keychain scripts specified with the blockchain (via an Esplora client) and
+<h6 id="consistency"><a href="#consistency">Consistency</a></h6>
+<p>The chain update returned is guaranteed to be consistent as long as there is not a <em>large</em> re-org
+during the call. The size of re-org we can tollerate is server dependent but will be at
+least 10.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.full_scan" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#52-57">source</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(<br> &self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error></h4></section></summary><div class="docblock"><p>Full scan the keychain scripts specified with the blockchain (via an Esplora client) and
returns a <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a> and a map of last active indices.</p>
<ul>
<li><code>keychain_spks</code>: keychains that we want to scan transactions for</li>
<p>The full scan for each keychain stops after a gap of <code>stop_gap</code> script pubkeys with no associated
transactions. <code>parallel_requests</code> specifies the max number of HTTP requests to make in
parallel.</p>
-</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.sync" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#66-72">source</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(<br> &self,<br> misc_spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = ScriptBuf>,<br> txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Txid>,<br> outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = OutPoint>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.sync" class="method has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#72-78">source</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(<br> &self,<br> misc_spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = ScriptBuf>,<br> txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Txid>,<br> outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = OutPoint>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error></h4></section></summary><div class="docblock"><p>Sync a set of scripts with the blockchain (via an Esplora client) for the data
specified and return a <a href="../bdk_chain/tx_graph/struct.TxGraph.html" title="TxGraph"><code>TxGraph</code></a>.</p>
<ul>
<li><code>misc_spks</code>: scripts that we want to sync transactions for</li>
</ul>
<p>If the scripts to sync are unknown, such as when restoring or importing a keychain that
may include scripts that have been used, use <a href="trait.EsploraExt.html#tymethod.full_scan"><code>full_scan</code></a> with the keychain.</p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-EsploraExt-for-BlockingClient" class="impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#75-333">source</a><a href="#impl-EsploraExt-for-BlockingClient" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.EsploraExt.html" title="trait bdk_esplora::EsploraExt">EsploraExt</a> for BlockingClient</h3></section></summary><div class="impl-items"><section id="method.update_local_chain" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#76-179">source</a><a href="#method.update_local_chain" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a>(<br> &self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error></h4></section><section id="method.full_scan" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#181-256">source</a><a href="#method.full_scan" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(<br> &self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error></h4></section><section id="method.sync" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#258-332">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(<br> &self,<br> misc_spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = ScriptBuf>,<br> txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Txid>,<br> outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = OutPoint>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../implementors/bdk_esplora/blocking_ext/trait.EsploraExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bdk_esplora" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-EsploraExt-for-BlockingClient" class="impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#81-294">source</a><a href="#impl-EsploraExt-for-BlockingClient" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.EsploraExt.html" title="trait bdk_esplora::EsploraExt">EsploraExt</a> for BlockingClient</h3></section></summary><div class="impl-items"><section id="method.update_local_chain" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#82-140">source</a><a href="#method.update_local_chain" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.update_local_chain" class="fn">update_local_chain</a>(<br> &self,<br> local_tip: <a class="struct" href="../bdk_chain/local_chain/struct.CheckPoint.html" title="struct bdk_chain::local_chain::CheckPoint">CheckPoint</a>,<br> request_heights: 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/local_chain/struct.Update.html" title="struct bdk_chain::local_chain::Update">Update</a>, Error></h4></section><section id="method.full_scan" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#142-217">source</a><a href="#method.full_scan" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.full_scan" class="fn">full_scan</a><K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(<br> &self,<br> keychain_spks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, 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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, ScriptBuf)>>,<br> stop_gap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><K, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>), Error></h4></section><section id="method.sync" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/bdk_esplora/blocking_ext.rs.html#219-293">source</a><a href="#method.sync" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.sync" class="fn">sync</a>(<br> &self,<br> misc_spks: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = ScriptBuf>,<br> txids: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Txid>,<br> outpoints: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = OutPoint>,<br> parallel_requests: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../bdk_chain/tx_graph/struct.TxGraph.html" title="struct bdk_chain::tx_graph::TxGraph">TxGraph</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>>, Error></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../implementors/bdk_esplora/blocking_ext/trait.EsploraExt.js" data-ignore-extern-crates="esplora_client" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bdk_esplora" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ChangeSet` type in crate `example_bitcoind_rpc_polling`."><meta name="keywords" content="rust, rustlang, rust-lang, ChangeSet"><title>ChangeSet in example_bitcoind_rpc_polling - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../example_bitcoind_rpc_polling/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../example_bitcoind_rpc_polling/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In example_bitcoind_rpc_polling</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Type Definition <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/example_bitcoind_rpc_polling/main.rs.html#38-41">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust typedef"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><<a class="enum" href="../example_cli/enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>);</code></pre></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="example_bitcoind_rpc_polling" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ChangeSet` type in crate `example_bitcoind_rpc_polling`."><meta name="keywords" content="rust, rustlang, rust-lang, ChangeSet"><title>ChangeSet in example_bitcoind_rpc_polling - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../example_bitcoind_rpc_polling/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../example_bitcoind_rpc_polling/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In example_bitcoind_rpc_polling</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Type Definition <a href="index.html">example_bitcoind_rpc_polling</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/example_bitcoind_rpc_polling/main.rs.html#38-41">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust typedef"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><Keychain>>);</code></pre></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="example_bitcoind_rpc_polling" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ChangeSet` type in crate `example_esplora`."><meta name="keywords" content="rust, rustlang, rust-lang, ChangeSet"><title>ChangeSet in example_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../example_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../example_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In example_esplora</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Type Definition <a href="index.html">example_esplora</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/example_esplora/main.rs.html#26-29">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust typedef"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><<a class="enum" href="../example_cli/enum.Keychain.html" title="enum example_cli::Keychain">Keychain</a>>>);</code></pre></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="example_esplora" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ChangeSet` type in crate `example_esplora`."><meta name="keywords" content="rust, rustlang, rust-lang, ChangeSet"><title>ChangeSet in example_esplora - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../example_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../example_esplora/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">ChangeSet</a></h2><div class="sidebar-elems"><h2><a href="index.html">In example_esplora</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Type Definition <a href="index.html">example_esplora</a>::<wbr><a class="type" href="#">ChangeSet</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/example_esplora/main.rs.html#26-29">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><div class="item-decl"><pre class="rust typedef"><code>pub(crate) type ChangeSet = (<a class="type" href="../bdk_chain/local_chain/type.ChangeSet.html" title="type bdk_chain::local_chain::ChangeSet">ChangeSet</a>, <a class="struct" href="../bdk_chain/indexed_tx_graph/struct.ChangeSet.html" title="struct bdk_chain::indexed_tx_graph::ChangeSet">ChangeSet</a><<a class="struct" href="../bdk_chain/chain_data/struct.ConfirmationTimeHeightAnchor.html" title="struct bdk_chain::chain_data::ConfirmationTimeHeightAnchor">ConfirmationTimeHeightAnchor</a>, <a class="struct" href="../bdk_chain/keychain/struct.ChangeSet.html" title="struct bdk_chain::keychain::ChangeSet">ChangeSet</a><Keychain>>);</code></pre></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="example_esplora" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc help</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="./static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="./static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="./static.files/storage-d43fa987303ecbbb.js"></script><script defer src="./static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="./bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="./bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable Javascript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc help</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="./static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="./static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="./static.files/storage-d43fa987303ecbbb.js"></script><script defer src="./static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="./bdk_file_store/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="./bdk_file_store/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable Javascript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="bdk_file_store" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="./static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="./static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="./static.files/storage-d43fa987303ecbbb.js"></script><script defer src="./static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="./bdk/index.html"><div class="logo-container"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="./bdk/index.html"><div class="logo-container">
- <img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></div></a><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable Javascript be able to update your settings.</section></noscript><link rel="stylesheet" href="./static.files/settings-af96d9e2fc13e081.css"><script defer src="./static.files/settings-bebeae96e00e4617.js"></script></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-64f7dca12162a801.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="./static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="./static.files/ayu-94f39d4346842c1e.css"><script id="default-settings" ></script><script src="./static.files/storage-d43fa987303ecbbb.js"></script><script defer src="./static.files/main-a211dbb005fb8161.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="./bdk_file_store/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="./bdk_file_store/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable Javascript be able to update your settings.</section></noscript><link rel="stylesheet" href="./static.files/settings-af96d9e2fc13e081.css"><script defer src="./static.files/settings-bebeae96e00e4617.js"></script></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="bdk_file_store" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
<a href="#1479" id="1479">1479</a>
<a href="#1480" id="1480">1480</a>
<a href="#1481" id="1481">1481</a>
+<a href="#1482" id="1482">1482</a>
+<a href="#1483" id="1483">1483</a>
+<a href="#1484" id="1484">1484</a>
+<a href="#1485" id="1485">1485</a>
+<a href="#1486" id="1486">1486</a>
+<a href="#1487" id="1487">1487</a>
+<a href="#1488" id="1488">1488</a>
+<a href="#1489" id="1489">1489</a>
+<a href="#1490" id="1490">1490</a>
+<a href="#1491" id="1491">1491</a>
+<a href="#1492" id="1492">1492</a>
+<a href="#1493" id="1493">1493</a>
+<a href="#1494" id="1494">1494</a>
+<a href="#1495" id="1495">1495</a>
+<a href="#1496" id="1496">1496</a>
+<a href="#1497" id="1497">1497</a>
+<a href="#1498" id="1498">1498</a>
+<a href="#1499" id="1499">1499</a>
+<a href="#1500" id="1500">1500</a>
+<a href="#1501" id="1501">1501</a>
+<a href="#1502" id="1502">1502</a>
+<a href="#1503" id="1503">1503</a>
+<a href="#1504" id="1504">1504</a>
+<a href="#1505" id="1505">1505</a>
+<a href="#1506" id="1506">1506</a>
+<a href="#1507" id="1507">1507</a>
+<a href="#1508" id="1508">1508</a>
+<a href="#1509" id="1509">1509</a>
+<a href="#1510" id="1510">1510</a>
+<a href="#1511" id="1511">1511</a>
+<a href="#1512" id="1512">1512</a>
+<a href="#1513" id="1513">1513</a>
+<a href="#1514" id="1514">1514</a>
+<a href="#1515" id="1515">1515</a>
+<a href="#1516" id="1516">1516</a>
+<a href="#1517" id="1517">1517</a>
+<a href="#1518" id="1518">1518</a>
+<a href="#1519" id="1519">1519</a>
+<a href="#1520" id="1520">1520</a>
+<a href="#1521" id="1521">1521</a>
+<a href="#1522" id="1522">1522</a>
+<a href="#1523" id="1523">1523</a>
+<a href="#1524" id="1524">1524</a>
+<a href="#1525" id="1525">1525</a>
+<a href="#1526" id="1526">1526</a>
+<a href="#1527" id="1527">1527</a>
+<a href="#1528" id="1528">1528</a>
+<a href="#1529" id="1529">1529</a>
+<a href="#1530" id="1530">1530</a>
+<a href="#1531" id="1531">1531</a>
+<a href="#1532" id="1532">1532</a>
+<a href="#1533" id="1533">1533</a>
+<a href="#1534" id="1534">1534</a>
+<a href="#1535" id="1535">1535</a>
+<a href="#1536" id="1536">1536</a>
+<a href="#1537" id="1537">1537</a>
+<a href="#1538" id="1538">1538</a>
+<a href="#1539" id="1539">1539</a>
+<a href="#1540" id="1540">1540</a>
+<a href="#1541" id="1541">1541</a>
+<a href="#1542" id="1542">1542</a>
+<a href="#1543" id="1543">1543</a>
+<a href="#1544" id="1544">1544</a>
+<a href="#1545" id="1545">1545</a>
+<a href="#1546" id="1546">1546</a>
+<a href="#1547" id="1547">1547</a>
+<a href="#1548" id="1548">1548</a>
+<a href="#1549" id="1549">1549</a>
+<a href="#1550" id="1550">1550</a>
+<a href="#1551" id="1551">1551</a>
+<a href="#1552" id="1552">1552</a>
+<a href="#1553" id="1553">1553</a>
+<a href="#1554" id="1554">1554</a>
+<a href="#1555" id="1555">1555</a>
+<a href="#1556" id="1556">1556</a>
+<a href="#1557" id="1557">1557</a>
+<a href="#1558" id="1558">1558</a>
+<a href="#1559" id="1559">1559</a>
+<a href="#1560" id="1560">1560</a>
+<a href="#1561" id="1561">1561</a>
+<a href="#1562" id="1562">1562</a>
+<a href="#1563" id="1563">1563</a>
+<a href="#1564" id="1564">1564</a>
+<a href="#1565" id="1565">1565</a>
+<a href="#1566" id="1566">1566</a>
+<a href="#1567" id="1567">1567</a>
+<a href="#1568" id="1568">1568</a>
+<a href="#1569" id="1569">1569</a>
+<a href="#1570" id="1570">1570</a>
+<a href="#1571" id="1571">1571</a>
+<a href="#1572" id="1572">1572</a>
+<a href="#1573" id="1573">1573</a>
+<a href="#1574" id="1574">1574</a>
+<a href="#1575" id="1575">1575</a>
+<a href="#1576" id="1576">1576</a>
+<a href="#1577" id="1577">1577</a>
+<a href="#1578" id="1578">1578</a>
+<a href="#1579" id="1579">1579</a>
+<a href="#1580" id="1580">1580</a>
+<a href="#1581" id="1581">1581</a>
+<a href="#1582" id="1582">1582</a>
+<a href="#1583" id="1583">1583</a>
+<a href="#1584" id="1584">1584</a>
+<a href="#1585" id="1585">1585</a>
+<a href="#1586" id="1586">1586</a>
+<a href="#1587" id="1587">1587</a>
+<a href="#1588" id="1588">1588</a>
+<a href="#1589" id="1589">1589</a>
+<a href="#1590" id="1590">1590</a>
+<a href="#1591" id="1591">1591</a>
+<a href="#1592" id="1592">1592</a>
+<a href="#1593" id="1593">1593</a>
+<a href="#1594" id="1594">1594</a>
+<a href="#1595" id="1595">1595</a>
+<a href="#1596" id="1596">1596</a>
+<a href="#1597" id="1597">1597</a>
</pre><pre class="rust"><code><span class="comment">// Bitcoin Dev Kit
// Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
//
//! # Ok::<(), anyhow::Error>(())
//! ```
-</span><span class="kw">use </span><span class="kw">crate</span>::types::FeeRate;
+</span><span class="kw">use </span><span class="kw">crate</span>::chain::collections::HashSet;
+<span class="kw">use </span><span class="kw">crate</span>::types::FeeRate;
<span class="kw">use </span><span class="kw">crate</span>::wallet::utils::IsDust;
<span class="kw">use </span><span class="kw">crate</span>::Utxo;
<span class="kw">use </span><span class="kw">crate</span>::WeightedUtxo;
<span class="kw">use </span>alloc::vec::Vec;
<span class="kw">use </span>bitcoin::consensus::encode::serialize;
+<span class="kw">use </span>bitcoin::OutPoint;
<span class="kw">use </span>bitcoin::{Script, Weight};
<span class="kw">use </span>core::convert::TryInto;
}
}
+<span class="doccomment">/// Remove duplicate UTXOs.
+///
+/// If a UTXO appears in both `required` and `optional`, the appearance in `required` is kept.
+</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>filter_duplicates<I>(required: I, optional: I) -> (I, I)
+<span class="kw">where
+ </span>I: IntoIterator<Item = WeightedUtxo> + FromIterator<WeightedUtxo>,
+{
+ <span class="kw">let </span><span class="kw-2">mut </span>visited = HashSet::<OutPoint>::new();
+ <span class="kw">let </span>required = required
+ .into_iter()
+ .filter(|utxo| visited.insert(utxo.utxo.outpoint()))
+ .collect::<I>();
+ <span class="kw">let </span>optional = optional
+ .into_iter()
+ .filter(|utxo| visited.insert(utxo.utxo.outpoint()))
+ .collect::<I>();
+ (required, optional)
+}
+
<span class="attr">#[cfg(test)]
</span><span class="kw">mod </span>test {
<span class="kw">use </span>assert_matches::assert_matches;
<span class="kw">use super</span>::<span class="kw-2">*</span>;
<span class="kw">use </span><span class="kw">crate</span>::types::<span class="kw-2">*</span>;
+ <span class="kw">use </span><span class="kw">crate</span>::wallet::coin_selection::filter_duplicates;
<span class="kw">use </span><span class="kw">crate</span>::wallet::Vbytes;
<span class="kw">use </span>rand::rngs::StdRng;
<span class="kw">fn </span>generate_random_utxos(rng: <span class="kw-2">&mut </span>StdRng, utxos_number: usize) -> Vec<WeightedUtxo> {
<span class="kw">let </span><span class="kw-2">mut </span>res = Vec::new();
- <span class="kw">for _ in </span><span class="number">0</span>..utxos_number {
+ <span class="kw">for </span>i <span class="kw">in </span><span class="number">0</span>..utxos_number {
res.push(WeightedUtxo {
satisfaction_weight: P2WPKH_SATISFACTION_SIZE,
utxo: Utxo::Local(LocalOutput {
- outpoint: OutPoint::from_str(
- <span class="string">"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0"</span>,
- )
+ outpoint: OutPoint::from_str(<span class="kw-2">&</span><span class="macro">format!</span>(
+ <span class="string">"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:{}"</span>,
+ i
+ ))
.unwrap(),
txout: TxOut {
value: rng.gen_range(<span class="number">0</span>..<span class="number">200000000</span>),
}
<span class="kw">fn </span>generate_same_value_utxos(utxos_value: u64, utxos_number: usize) -> Vec<WeightedUtxo> {
- <span class="kw">let </span>utxo = WeightedUtxo {
- satisfaction_weight: P2WPKH_SATISFACTION_SIZE,
- utxo: Utxo::Local(LocalOutput {
- outpoint: OutPoint::from_str(
- <span class="string">"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0"</span>,
- )
- .unwrap(),
- txout: TxOut {
- value: utxos_value,
- script_pubkey: ScriptBuf::new(),
- },
- keychain: KeychainKind::External,
- is_spent: <span class="bool-val">false</span>,
- derivation_index: <span class="number">42</span>,
- confirmation_time: ConfirmationTime::Unconfirmed { last_seen: <span class="number">0 </span>},
- }),
- };
- <span class="macro">vec!</span>[utxo; utxos_number]
+ (<span class="number">0</span>..utxos_number)
+ .map(|i| WeightedUtxo {
+ satisfaction_weight: P2WPKH_SATISFACTION_SIZE,
+ utxo: Utxo::Local(LocalOutput {
+ outpoint: OutPoint::from_str(<span class="kw-2">&</span><span class="macro">format!</span>(
+ <span class="string">"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:{}"</span>,
+ i
+ ))
+ .unwrap(),
+ txout: TxOut {
+ value: utxos_value,
+ script_pubkey: ScriptBuf::new(),
+ },
+ keychain: KeychainKind::External,
+ is_spent: <span class="bool-val">false</span>,
+ derivation_index: <span class="number">42</span>,
+ confirmation_time: ConfirmationTime::Unconfirmed { last_seen: <span class="number">0 </span>},
+ }),
+ })
+ .collect()
}
<span class="kw">fn </span>sum_random_utxos(<span class="kw-2">mut </span>rng: <span class="kw-2">&mut </span>StdRng, utxos: <span class="kw-2">&mut </span>Vec<WeightedUtxo>) -> u64 {
})
);
}
+
+ <span class="attr">#[test]
+ </span><span class="kw">fn </span>test_filter_duplicates() {
+ <span class="kw">fn </span>utxo(txid: <span class="kw-2">&</span>str, value: u64) -> WeightedUtxo {
+ WeightedUtxo {
+ satisfaction_weight: <span class="number">0</span>,
+ utxo: Utxo::Local(LocalOutput {
+ outpoint: OutPoint::new(bitcoin::hashes::Hash::hash(txid.as_bytes()), <span class="number">0</span>),
+ txout: TxOut {
+ value,
+ script_pubkey: ScriptBuf::new(),
+ },
+ keychain: KeychainKind::External,
+ is_spent: <span class="bool-val">false</span>,
+ derivation_index: <span class="number">0</span>,
+ confirmation_time: ConfirmationTime::Confirmed {
+ height: <span class="number">12345</span>,
+ time: <span class="number">12345</span>,
+ },
+ }),
+ }
+ }
+
+ <span class="kw">fn </span>to_utxo_vec(utxos: <span class="kw-2">&</span>[(<span class="kw-2">&</span>str, u64)]) -> Vec<WeightedUtxo> {
+ <span class="kw">let </span><span class="kw-2">mut </span>v = utxos
+ .iter()
+ .map(|<span class="kw-2">&</span>(txid, value)| utxo(txid, value))
+ .collect::<Vec<<span class="kw">_</span>>>();
+ v.sort_by_key(|u| u.utxo.outpoint());
+ v
+ }
+
+ <span class="kw">struct </span>TestCase<<span class="lifetime">'a</span>> {
+ name: <span class="kw-2">&</span><span class="lifetime">'a </span>str,
+ required: <span class="kw-2">&</span><span class="lifetime">'a </span>[(<span class="kw-2">&</span><span class="lifetime">'a </span>str, u64)],
+ optional: <span class="kw-2">&</span><span class="lifetime">'a </span>[(<span class="kw-2">&</span><span class="lifetime">'a </span>str, u64)],
+ exp_required: <span class="kw-2">&</span><span class="lifetime">'a </span>[(<span class="kw-2">&</span><span class="lifetime">'a </span>str, u64)],
+ exp_optional: <span class="kw-2">&</span><span class="lifetime">'a </span>[(<span class="kw-2">&</span><span class="lifetime">'a </span>str, u64)],
+ }
+
+ <span class="kw">let </span>test_cases = [
+ TestCase {
+ name: <span class="string">"no_duplicates"</span>,
+ required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">1000</span>), (<span class="string">"B"</span>, <span class="number">2100</span>)],
+ optional: <span class="kw-2">&</span>[(<span class="string">"C"</span>, <span class="number">1000</span>)],
+ exp_required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">1000</span>), (<span class="string">"B"</span>, <span class="number">2100</span>)],
+ exp_optional: <span class="kw-2">&</span>[(<span class="string">"C"</span>, <span class="number">1000</span>)],
+ },
+ TestCase {
+ name: <span class="string">"duplicate_required_utxos"</span>,
+ required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"B"</span>, <span class="number">1200</span>), (<span class="string">"C"</span>, <span class="number">1234</span>), (<span class="string">"A"</span>, <span class="number">3000</span>)],
+ optional: <span class="kw-2">&</span>[(<span class="string">"D"</span>, <span class="number">2100</span>)],
+ exp_required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"B"</span>, <span class="number">1200</span>), (<span class="string">"C"</span>, <span class="number">1234</span>)],
+ exp_optional: <span class="kw-2">&</span>[(<span class="string">"D"</span>, <span class="number">2100</span>)],
+ },
+ TestCase {
+ name: <span class="string">"duplicate_optional_utxos"</span>,
+ required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"B"</span>, <span class="number">1200</span>)],
+ optional: <span class="kw-2">&</span>[(<span class="string">"C"</span>, <span class="number">5000</span>), (<span class="string">"D"</span>, <span class="number">1300</span>), (<span class="string">"C"</span>, <span class="number">5000</span>)],
+ exp_required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"B"</span>, <span class="number">1200</span>)],
+ exp_optional: <span class="kw-2">&</span>[(<span class="string">"C"</span>, <span class="number">5000</span>), (<span class="string">"D"</span>, <span class="number">1300</span>)],
+ },
+ TestCase {
+ name: <span class="string">"duplicate_across_required_and_optional_utxos"</span>,
+ required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"B"</span>, <span class="number">1200</span>), (<span class="string">"C"</span>, <span class="number">2100</span>)],
+ optional: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"D"</span>, <span class="number">1200</span>), (<span class="string">"E"</span>, <span class="number">5000</span>)],
+ exp_required: <span class="kw-2">&</span>[(<span class="string">"A"</span>, <span class="number">3000</span>), (<span class="string">"B"</span>, <span class="number">1200</span>), (<span class="string">"C"</span>, <span class="number">2100</span>)],
+ exp_optional: <span class="kw-2">&</span>[(<span class="string">"D"</span>, <span class="number">1200</span>), (<span class="string">"E"</span>, <span class="number">5000</span>)],
+ },
+ ];
+
+ <span class="kw">for </span>(i, t) <span class="kw">in </span>test_cases.into_iter().enumerate() {
+ <span class="macro">println!</span>(<span class="string">"Case {}: {}"</span>, i, t.name);
+ <span class="kw">let </span>(required, optional) =
+ filter_duplicates(to_utxo_vec(t.required), to_utxo_vec(t.optional));
+ <span class="macro">assert_eq!</span>(
+ required,
+ to_utxo_vec(t.exp_required),
+ <span class="string">"[{}:{}] unexpected `required` result"</span>,
+ i,
+ t.name
+ );
+ <span class="macro">assert_eq!</span>(
+ optional,
+ to_utxo_vec(t.exp_optional),
+ <span class="string">"[{}:{}] unexpected `optional` result"</span>,
+ i,
+ t.name
+ );
+ }
+ }
}
</code></pre></div>
</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="bdk" data-themes="" data-resource-suffix="" data-rustdoc-version="1.68.0-nightly (0f529f0f4 2022-12-13)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html>
\ No newline at end of file
<a href="#2597" id="2597">2597</a>
<a href="#2598" id="2598">2598</a>
<a href="#2599" id="2599">2599</a>
+<a href="#2600" id="2600">2600</a>
+<a href="#2601" id="2601">2601</a>
+<a href="#2602" id="2602">2602</a>
</pre><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>(required_utxos, optional_utxos) =
+ coin_selection::filter_duplicates(required_utxos, optional_utxos);
+
<span class="kw">let </span>coin_selection = coin_selection.coin_select(
required_utxos,
optional_utxos,
<a href="#300" id="300">300</a>
<a href="#301" id="301">301</a>
<a href="#302" id="302">302</a>
-<a href="#303" id="303">303</a>
-<a href="#304" id="304">304</a>
-<a href="#305" id="305">305</a>
-<a href="#306" id="306">306</a>
-<a href="#307" id="307">307</a>
-<a href="#308" id="308">308</a>
-<a href="#309" id="309">309</a>
-<a href="#310" id="310">310</a>
-<a href="#311" id="311">311</a>
-<a href="#312" id="312">312</a>
-<a href="#313" id="313">313</a>
-<a href="#314" id="314">314</a>
-<a href="#315" id="315">315</a>
-<a href="#316" id="316">316</a>
-<a href="#317" id="317">317</a>
-<a href="#318" id="318">318</a>
-<a href="#319" id="319">319</a>
-<a href="#320" id="320">320</a>
-<a href="#321" id="321">321</a>
-<a href="#322" id="322">322</a>
-<a href="#323" id="323">323</a>
-<a href="#324" id="324">324</a>
-<a href="#325" id="325">325</a>
-<a href="#326" id="326">326</a>
-<a href="#327" id="327">327</a>
-<a href="#328" id="328">328</a>
-<a href="#329" id="329">329</a>
-<a href="#330" id="330">330</a>
-<a href="#331" id="331">331</a>
-<a href="#332" id="332">332</a>
-<a href="#333" id="333">333</a>
-<a href="#334" id="334">334</a>
-<a href="#335" id="335">335</a>
-<a href="#336" id="336">336</a>
-<a href="#337" id="337">337</a>
-<a href="#338" id="338">338</a>
-<a href="#339" id="339">339</a>
</pre><pre class="rust"><code><span class="kw">use </span>async_trait::async_trait;
<span class="kw">use </span>bdk_chain::collections::btree_map;
<span class="kw">use </span>bdk_chain::{
bitcoin::{BlockHash, OutPoint, ScriptBuf, Txid},
- collections::{BTreeMap, BTreeSet},
+ collections::BTreeMap,
local_chain::{<span class="self">self</span>, CheckPoint},
BlockId, ConfirmationTimeHeightAnchor, TxGraph,
};
<span class="kw">use </span>esplora_client::{Error, TxStatus};
<span class="kw">use </span>futures::{stream::FuturesOrdered, TryStreamExt};
-<span class="kw">use crate</span>::{anchor_from_status, ASSUME_FINAL_DEPTH};
+<span class="kw">use </span><span class="kw">crate</span>::anchor_from_status;
<span class="doccomment">/// Trait to extend the functionality of [`esplora_client::AsyncClient`].
///
///
/// The result of this method can be applied to [`LocalChain::apply_update`].
///
+ /// ## Consistency
+ ///
+ /// The chain update returned is guaranteed to be consistent as long as there is not a *large* re-org
+ /// during the call. The size of re-org we can tollerate is server dependent but will be at
+ /// least 10.
+ ///
/// [`LocalChain`]: bdk_chain::local_chain::LocalChain
/// [`LocalChain::tip`]: bdk_chain::local_chain::LocalChain::tip
/// [`LocalChain::apply_update`]: bdk_chain::local_chain::LocalChain::apply_update
local_tip: CheckPoint,
request_heights: <span class="kw">impl </span>IntoIterator<IntoIter = <span class="kw">impl </span>Iterator<Item = u32> + Send> + Send,
) -> <span class="prelude-ty">Result</span><local_chain::Update, Error> {
- <span class="kw">let </span>request_heights = request_heights.into_iter().collect::<BTreeSet<<span class="kw">_</span>>>();
- <span class="kw">let </span>new_tip_height = <span class="self">self</span>.get_height().<span class="kw">await</span><span class="question-mark">?</span>;
-
- <span class="comment">// atomically fetch blocks from esplora
- </span><span class="kw">let </span><span class="kw-2">mut </span>fetched_blocks = {
- <span class="kw">let </span>heights = (<span class="number">0</span>..=new_tip_height).rev();
- <span class="kw">let </span>hashes = <span class="self">self
- </span>.get_blocks(<span class="prelude-val">Some</span>(new_tip_height))
- .<span class="kw">await</span><span class="question-mark">?
- </span>.into_iter()
- .map(|b| b.id);
- heights.zip(hashes).collect::<BTreeMap<u32, BlockHash>>()
- };
+ <span class="comment">// Fetch latest N (server dependent) blocks from Esplora. The server guarantees these are
+ // consistent.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>fetched_blocks = <span class="self">self
+ </span>.get_blocks(<span class="prelude-val">None</span>)
+ .<span class="kw">await</span><span class="question-mark">?
+ </span>.into_iter()
+ .map(|b| (b.time.height, b.id))
+ .collect::<BTreeMap<u32, BlockHash>>();
+ <span class="kw">let </span>new_tip_height = fetched_blocks
+ .keys()
+ .last()
+ .copied()
+ .expect(<span class="string">"must have atleast one block"</span>);
- <span class="comment">// fetch heights that the caller is interested in
+ <span class="comment">// Fetch blocks of heights that the caller is interested in, skipping blocks that are
+ // already fetched when constructing `fetched_blocks`.
</span><span class="kw">for </span>height <span class="kw">in </span>request_heights {
<span class="comment">// do not fetch blocks higher than remote tip
</span><span class="kw">if </span>height > new_tip_height {
}
<span class="comment">// only fetch what is missing
</span><span class="kw">if let </span>btree_map::Entry::Vacant(entry) = fetched_blocks.entry(height) {
- <span class="kw">let </span>hash = <span class="self">self</span>.get_block_hash(height).<span class="kw">await</span><span class="question-mark">?</span>;
- entry.insert(hash);
+ <span class="comment">// ❗The return value of `get_block_hash` is not strictly guaranteed to be consistent
+ // with the chain at the time of `get_blocks` above (there could have been a deep
+ // re-org). Since `get_blocks` returns 10 (or so) blocks we are assuming that it's
+ // not possible to have a re-org deeper than that.
+ </span>entry.insert(<span class="self">self</span>.get_block_hash(height).<span class="kw">await</span><span class="question-mark">?</span>);
}
}
- <span class="comment">// find the earliest point of agreement between local chain and fetched chain
- </span><span class="kw">let </span>earliest_agreement_cp = {
- <span class="kw">let </span><span class="kw-2">mut </span>earliest_agreement_cp = <span class="prelude-ty">Option</span>::<CheckPoint>::None;
-
- <span class="kw">let </span>local_tip_height = local_tip.height();
- <span class="kw">for </span>local_cp <span class="kw">in </span>local_tip.iter() {
- <span class="kw">let </span>local_block = local_cp.block_id();
-
- <span class="comment">// the updated hash (block hash at this height after the update), can either be:
- // 1. a block that already existed in `fetched_blocks`
- // 2. a block that exists locally and at least has a depth of ASSUME_FINAL_DEPTH
- // 3. otherwise we can freshly fetch the block from remote, which is safe as it
- // is guaranteed that this would be at or below ASSUME_FINAL_DEPTH from the
- // remote tip
- </span><span class="kw">let </span>updated_hash = <span class="kw">match </span>fetched_blocks.entry(local_block.height) {
- btree_map::Entry::Occupied(entry) => <span class="kw-2">*</span>entry.get(),
- btree_map::Entry::Vacant(entry) => <span class="kw-2">*</span>entry.insert(
- <span class="kw">if </span>local_tip_height - local_block.height >= ASSUME_FINAL_DEPTH {
- local_block.hash
- } <span class="kw">else </span>{
- <span class="self">self</span>.get_block_hash(local_block.height).<span class="kw">await</span><span class="question-mark">?
- </span>},
- ),
- };
-
- <span class="comment">// since we may introduce blocks below the point of agreement, we cannot break
- // here unconditionally - we only break if we guarantee there are no new heights
- // below our current local checkpoint
- </span><span class="kw">if </span>local_block.hash == updated_hash {
- earliest_agreement_cp = <span class="prelude-val">Some</span>(local_cp);
-
- <span class="kw">let </span>first_new_height = <span class="kw-2">*</span>fetched_blocks
- .keys()
- .next()
- .expect(<span class="string">"must have at least one new block"</span>);
- <span class="kw">if </span>first_new_height >= local_block.height {
- <span class="kw">break</span>;
- }
- }
+ <span class="comment">// Ensure `fetched_blocks` can create an update that connects with the original chain by
+ // finding a "Point of Agreement".
+ </span><span class="kw">for </span>(height, local_hash) <span class="kw">in </span>local_tip.iter().map(|cp| (cp.height(), cp.hash())) {
+ <span class="kw">if </span>height > new_tip_height {
+ <span class="kw">continue</span>;
}
- earliest_agreement_cp
- };
-
- <span class="kw">let </span>tip = {
- <span class="comment">// first checkpoint to use for the update chain
- </span><span class="kw">let </span>first_cp = <span class="kw">match </span>earliest_agreement_cp {
- <span class="prelude-val">Some</span>(cp) => cp,
- <span class="prelude-val">None </span>=> {
- <span class="kw">let </span>(<span class="kw-2">&</span>height, <span class="kw-2">&</span>hash) = fetched_blocks
- .iter()
- .next()
- .expect(<span class="string">"must have at least one new block"</span>);
- CheckPoint::new(BlockId { height, hash })
+ <span class="kw">let </span>fetched_hash = <span class="kw">match </span>fetched_blocks.entry(height) {
+ btree_map::Entry::Occupied(entry) => <span class="kw-2">*</span>entry.get(),
+ btree_map::Entry::Vacant(entry) => {
+ <span class="kw-2">*</span>entry.insert(<span class="self">self</span>.get_block_hash(height).<span class="kw">await</span><span class="question-mark">?</span>)
}
};
- <span class="comment">// transform fetched chain into the update chain
- </span>fetched_blocks
- <span class="comment">// we exclude anything at or below the first cp of the update chain otherwise
- // building the chain will fail
- </span>.split_off(<span class="kw-2">&</span>(first_cp.height() + <span class="number">1</span>))
- .into_iter()
- .map(|(height, hash)| BlockId { height, hash })
- .fold(first_cp, |prev_cp, block| {
- prev_cp.push(block).expect(<span class="string">"must extend checkpoint"</span>)
- })
- };
+
+ <span class="comment">// We have found point of agreement so the update will connect!
+ </span><span class="kw">if </span>fetched_hash == local_hash {
+ <span class="kw">break</span>;
+ }
+ }
<span class="prelude-val">Ok</span>(local_chain::Update {
- tip,
+ tip: CheckPoint::from_block_ids(fetched_blocks.into_iter().map(BlockId::from))
+ .expect(<span class="string">"must be in height order"</span>),
introduce_older_blocks: <span class="bool-val">true</span>,
})
}
<a href="#292" id="292">292</a>
<a href="#293" id="293">293</a>
<a href="#294" id="294">294</a>
-<a href="#295" id="295">295</a>
-<a href="#296" id="296">296</a>
-<a href="#297" id="297">297</a>
-<a href="#298" id="298">298</a>
-<a href="#299" id="299">299</a>
-<a href="#300" id="300">300</a>
-<a href="#301" id="301">301</a>
-<a href="#302" id="302">302</a>
-<a href="#303" id="303">303</a>
-<a href="#304" id="304">304</a>
-<a href="#305" id="305">305</a>
-<a href="#306" id="306">306</a>
-<a href="#307" id="307">307</a>
-<a href="#308" id="308">308</a>
-<a href="#309" id="309">309</a>
-<a href="#310" id="310">310</a>
-<a href="#311" id="311">311</a>
-<a href="#312" id="312">312</a>
-<a href="#313" id="313">313</a>
-<a href="#314" id="314">314</a>
-<a href="#315" id="315">315</a>
-<a href="#316" id="316">316</a>
-<a href="#317" id="317">317</a>
-<a href="#318" id="318">318</a>
-<a href="#319" id="319">319</a>
-<a href="#320" id="320">320</a>
-<a href="#321" id="321">321</a>
-<a href="#322" id="322">322</a>
-<a href="#323" id="323">323</a>
-<a href="#324" id="324">324</a>
-<a href="#325" id="325">325</a>
-<a href="#326" id="326">326</a>
-<a href="#327" id="327">327</a>
-<a href="#328" id="328">328</a>
-<a href="#329" id="329">329</a>
-<a href="#330" id="330">330</a>
-<a href="#331" id="331">331</a>
-<a href="#332" id="332">332</a>
-<a href="#333" id="333">333</a>
</pre><pre class="rust"><code><span class="kw">use </span>std::thread::JoinHandle;
<span class="kw">use </span>bdk_chain::collections::btree_map;
-<span class="kw">use </span>bdk_chain::collections::{BTreeMap, BTreeSet};
+<span class="kw">use </span>bdk_chain::collections::BTreeMap;
<span class="kw">use </span>bdk_chain::{
bitcoin::{BlockHash, OutPoint, ScriptBuf, Txid},
local_chain::{<span class="self">self</span>, CheckPoint},
};
<span class="kw">use </span>esplora_client::{Error, TxStatus};
-<span class="kw">use crate</span>::{anchor_from_status, ASSUME_FINAL_DEPTH};
+<span class="kw">use </span><span class="kw">crate</span>::anchor_from_status;
<span class="doccomment">/// Trait to extend the functionality of [`esplora_client::BlockingClient`].
///
///
/// The result of this method can be applied to [`LocalChain::apply_update`].
///
+ /// ## Consistency
+ ///
+ /// The chain update returned is guaranteed to be consistent as long as there is not a *large* re-org
+ /// during the call. The size of re-org we can tollerate is server dependent but will be at
+ /// least 10.
+ ///
/// [`LocalChain`]: bdk_chain::local_chain::LocalChain
/// [`LocalChain::tip`]: bdk_chain::local_chain::LocalChain::tip
/// [`LocalChain::apply_update`]: bdk_chain::local_chain::LocalChain::apply_update
local_tip: CheckPoint,
request_heights: <span class="kw">impl </span>IntoIterator<Item = u32>,
) -> <span class="prelude-ty">Result</span><local_chain::Update, Error> {
- <span class="kw">let </span>request_heights = request_heights.into_iter().collect::<BTreeSet<<span class="kw">_</span>>>();
- <span class="kw">let </span>new_tip_height = <span class="self">self</span>.get_height()<span class="question-mark">?</span>;
-
- <span class="comment">// atomically fetch blocks from esplora
- </span><span class="kw">let </span><span class="kw-2">mut </span>fetched_blocks = {
- <span class="kw">let </span>heights = (<span class="number">0</span>..=new_tip_height).rev();
- <span class="kw">let </span>hashes = <span class="self">self
- </span>.get_blocks(<span class="prelude-val">Some</span>(new_tip_height))<span class="question-mark">?
- </span>.into_iter()
- .map(|b| b.id);
- heights.zip(hashes).collect::<BTreeMap<u32, BlockHash>>()
- };
+ <span class="comment">// Fetch latest N (server dependent) blocks from Esplora. The server guarantees these are
+ // consistent.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>fetched_blocks = <span class="self">self
+ </span>.get_blocks(<span class="prelude-val">None</span>)<span class="question-mark">?
+ </span>.into_iter()
+ .map(|b| (b.time.height, b.id))
+ .collect::<BTreeMap<u32, BlockHash>>();
+ <span class="kw">let </span>new_tip_height = fetched_blocks
+ .keys()
+ .last()
+ .copied()
+ .expect(<span class="string">"must atleast have one block"</span>);
- <span class="comment">// fetch heights that the caller is interested in
+ <span class="comment">// Fetch blocks of heights that the caller is interested in, skipping blocks that are
+ // already fetched when constructing `fetched_blocks`.
</span><span class="kw">for </span>height <span class="kw">in </span>request_heights {
<span class="comment">// do not fetch blocks higher than remote tip
</span><span class="kw">if </span>height > new_tip_height {
}
<span class="comment">// only fetch what is missing
</span><span class="kw">if let </span>btree_map::Entry::Vacant(entry) = fetched_blocks.entry(height) {
- <span class="kw">let </span>hash = <span class="self">self</span>.get_block_hash(height)<span class="question-mark">?</span>;
- entry.insert(hash);
+ <span class="comment">// ❗The return value of `get_block_hash` is not strictly guaranteed to be consistent
+ // with the chain at the time of `get_blocks` above (there could have been a deep
+ // re-org). Since `get_blocks` returns 10 (or so) blocks we are assuming that it's
+ // not possible to have a re-org deeper than that.
+ </span>entry.insert(<span class="self">self</span>.get_block_hash(height)<span class="question-mark">?</span>);
}
}
- <span class="comment">// find the earliest point of agreement between local chain and fetched chain
- </span><span class="kw">let </span>earliest_agreement_cp = {
- <span class="kw">let </span><span class="kw-2">mut </span>earliest_agreement_cp = <span class="prelude-ty">Option</span>::<CheckPoint>::None;
-
- <span class="kw">let </span>local_tip_height = local_tip.height();
- <span class="kw">for </span>local_cp <span class="kw">in </span>local_tip.iter() {
- <span class="kw">let </span>local_block = local_cp.block_id();
-
- <span class="comment">// the updated hash (block hash at this height after the update), can either be:
- // 1. a block that already existed in `fetched_blocks`
- // 2. a block that exists locally and at least has a depth of ASSUME_FINAL_DEPTH
- // 3. otherwise we can freshly fetch the block from remote, which is safe as it
- // is guaranteed that this would be at or below ASSUME_FINAL_DEPTH from the
- // remote tip
- </span><span class="kw">let </span>updated_hash = <span class="kw">match </span>fetched_blocks.entry(local_block.height) {
- btree_map::Entry::Occupied(entry) => <span class="kw-2">*</span>entry.get(),
- btree_map::Entry::Vacant(entry) => <span class="kw-2">*</span>entry.insert(
- <span class="kw">if </span>local_tip_height - local_block.height >= ASSUME_FINAL_DEPTH {
- local_block.hash
- } <span class="kw">else </span>{
- <span class="self">self</span>.get_block_hash(local_block.height)<span class="question-mark">?
- </span>},
- ),
- };
-
- <span class="comment">// since we may introduce blocks below the point of agreement, we cannot break
- // here unconditionally - we only break if we guarantee there are no new heights
- // below our current local checkpoint
- </span><span class="kw">if </span>local_block.hash == updated_hash {
- earliest_agreement_cp = <span class="prelude-val">Some</span>(local_cp);
-
- <span class="kw">let </span>first_new_height = <span class="kw-2">*</span>fetched_blocks
- .keys()
- .next()
- .expect(<span class="string">"must have at least one new block"</span>);
- <span class="kw">if </span>first_new_height >= local_block.height {
- <span class="kw">break</span>;
- }
- }
+ <span class="comment">// Ensure `fetched_blocks` can create an update that connects with the original chain by
+ // finding a "Point of Agreement".
+ </span><span class="kw">for </span>(height, local_hash) <span class="kw">in </span>local_tip.iter().map(|cp| (cp.height(), cp.hash())) {
+ <span class="kw">if </span>height > new_tip_height {
+ <span class="kw">continue</span>;
}
- earliest_agreement_cp
- };
-
- <span class="kw">let </span>tip = {
- <span class="comment">// first checkpoint to use for the update chain
- </span><span class="kw">let </span>first_cp = <span class="kw">match </span>earliest_agreement_cp {
- <span class="prelude-val">Some</span>(cp) => cp,
- <span class="prelude-val">None </span>=> {
- <span class="kw">let </span>(<span class="kw-2">&</span>height, <span class="kw-2">&</span>hash) = fetched_blocks
- .iter()
- .next()
- .expect(<span class="string">"must have at least one new block"</span>);
- CheckPoint::new(BlockId { height, hash })
- }
+ <span class="kw">let </span>fetched_hash = <span class="kw">match </span>fetched_blocks.entry(height) {
+ btree_map::Entry::Occupied(entry) => <span class="kw-2">*</span>entry.get(),
+ btree_map::Entry::Vacant(entry) => <span class="kw-2">*</span>entry.insert(<span class="self">self</span>.get_block_hash(height)<span class="question-mark">?</span>),
};
- <span class="comment">// transform fetched chain into the update chain
- </span>fetched_blocks
- <span class="comment">// we exclude anything at or below the first cp of the update chain otherwise
- // building the chain will fail
- </span>.split_off(<span class="kw-2">&</span>(first_cp.height() + <span class="number">1</span>))
- .into_iter()
- .map(|(height, hash)| BlockId { height, hash })
- .fold(first_cp, |prev_cp, block| {
- prev_cp.push(block).expect(<span class="string">"must extend checkpoint"</span>)
- })
- };
+
+ <span class="comment">// We have found point of agreement so the update will connect!
+ </span><span class="kw">if </span>fetched_hash == local_hash {
+ <span class="kw">break</span>;
+ }
+ }
<span class="prelude-val">Ok</span>(local_chain::Update {
- tip,
+ tip: CheckPoint::from_block_ids(fetched_blocks.into_iter().map(BlockId::from))
+ .expect(<span class="string">"must be in height order"</span>),
introduce_older_blocks: <span class="bool-val">true</span>,
})
}
<a href="#48" id="48">48</a>
<a href="#49" id="49">49</a>
<a href="#50" id="50">50</a>
-<a href="#51" id="51">51</a>
-<a href="#52" id="52">52</a>
</pre><pre class="rust"><code><span class="attr">#![doc = <span class="macro">include_str!</span>(<span class="string">"../README.md"</span>)]
</span><span class="doccomment">//! This crate is used for updating structures of [`bdk_chain`] with data from an Esplora server.
<span class="attr">#[cfg(feature = <span class="string">"async"</span>)]
</span><span class="kw">pub use </span>async_ext::<span class="kw-2">*</span>;
-<span class="kw">const </span>ASSUME_FINAL_DEPTH: u32 = <span class="number">15</span>;
-
<span class="kw">fn </span>anchor_from_status(status: <span class="kw-2">&</span>TxStatus) -> <span class="prelude-ty">Option</span><ConfirmationTimeHeightAnchor> {
<span class="kw">if let </span>TxStatus {
block_height: <span class="prelude-val">Some</span>(height),