82 lines
25 KiB
HTML
82 lines
25 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A trait that represents the ability to compute the suggested change and fees that must be paid by a transaction having a specified set of inputs and outputs."><title>ChangeStrategy in zcash_client_backend::fees - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-20739d33.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="zcash_client_backend" data-themes="" data-resource-suffix="" data-rustdoc-version="1.88.0-nightly (74509131e 2025-04-29)" data-channel="nightly" data-search-js="search-f7877310.js" data-settings-js="settings-5514c975.js" ><script src="../../static.files/storage-4e99c027.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-7ef8a74a.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../zcash_client_backend/index.html">zcash_<wbr>client_<wbr>backend</a><span class="version">0.18.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Change<wbr>Strategy</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.AccountMetaT" title="AccountMetaT">AccountMetaT</a></li><li><a href="#associatedtype.Error" title="Error">Error</a></li><li><a href="#associatedtype.FeeRule" title="FeeRule">FeeRule</a></li><li><a href="#associatedtype.MetaSource" title="MetaSource">MetaSource</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.compute_balance" title="compute_balance">compute_balance</a></li><li><a href="#tymethod.fee_rule" title="fee_rule">fee_rule</a></li><li><a href="#tymethod.fetch_wallet_meta" title="fetch_wallet_meta">fetch_wallet_meta</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In zcash_<wbr>client_<wbr>backend::<wbr>fees</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">zcash_client_backend</a>::<wbr><a href="index.html">fees</a></div><h1>Trait <span class="trait">ChangeStrategy</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/zcash_client_backend/fees.rs.html#489-554">Source</a> </span></div><pre class="rust item-decl"><code>pub trait ChangeStrategy {
|
|
type <a href="#associatedtype.FeeRule" class="associatedtype">FeeRule</a>: FeeRule + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>;
|
|
type <a href="#associatedtype.Error" class="associatedtype">Error</a>;
|
|
type <a href="#associatedtype.MetaSource" class="associatedtype">MetaSource</a>: <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>;
|
|
type <a href="#associatedtype.AccountMetaT" class="associatedtype">AccountMetaT</a>;
|
|
|
|
// Required methods
|
|
fn <a href="#tymethod.fee_rule" class="fn">fee_rule</a>(&self) -> &Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.FeeRule" title="type zcash_client_backend::fees::ChangeStrategy::FeeRule">FeeRule</a>;
|
|
<span class="item-spacer"></span> fn <a href="#tymethod.fetch_wallet_meta" class="fn">fetch_wallet_meta</a>(
|
|
&self,
|
|
meta_source: &Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a>,
|
|
account: <Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a> as <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>>::<a class="associatedtype" href="../data_api/trait.InputSource.html#associatedtype.AccountId" title="type zcash_client_backend::data_api::InputSource::AccountId">AccountId</a>,
|
|
exclude: &[<Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a> as <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>>::<a class="associatedtype" href="../data_api/trait.InputSource.html#associatedtype.NoteRef" title="type zcash_client_backend::data_api::InputSource::NoteRef">NoteRef</a>],
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.AccountMetaT" title="type zcash_client_backend::fees::ChangeStrategy::AccountMetaT">AccountMetaT</a>, <Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a> as <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>>::<a class="associatedtype" href="../data_api/trait.InputSource.html#associatedtype.Error" title="type zcash_client_backend::data_api::InputSource::Error">Error</a>>;
|
|
<span class="item-spacer"></span> fn <a href="#tymethod.compute_balance" class="fn">compute_balance</a><P: Parameters, NoteRefT: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
|
|
&self,
|
|
params: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&P</a>,
|
|
target_height: BlockHeight,
|
|
transparent_inputs: &[impl InputView],
|
|
transparent_outputs: &[impl OutputView],
|
|
sapling: &impl <a class="trait" href="sapling/trait.BundleView.html" title="trait zcash_client_backend::fees::sapling::BundleView">BundleView</a><NoteRefT>,
|
|
orchard: &impl <a class="trait" href="orchard/trait.BundleView.html" title="trait zcash_client_backend::fees::orchard::BundleView">BundleView</a><NoteRefT>,
|
|
ephemeral_balance: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="enum" href="enum.EphemeralBalance.html" title="enum zcash_client_backend::fees::EphemeralBalance">EphemeralBalance</a>>,
|
|
wallet_meta: &Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.AccountMetaT" title="type zcash_client_backend::fees::ChangeStrategy::AccountMetaT">AccountMetaT</a>,
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.TransactionBalance.html" title="struct zcash_client_backend::fees::TransactionBalance">TransactionBalance</a>, <a class="enum" href="enum.ChangeError.html" title="enum zcash_client_backend::fees::ChangeError">ChangeError</a><Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.Error" title="type zcash_client_backend::fees::ChangeStrategy::Error">Error</a>, NoteRefT>>;
|
|
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait that represents the ability to compute the suggested change and fees that must be paid
|
|
by a transaction having a specified set of inputs and outputs.</p>
|
|
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.FeeRule" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#490">Source</a><h4 class="code-header">type <a href="#associatedtype.FeeRule" class="associatedtype">FeeRule</a>: FeeRule + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a></h4></section><section id="associatedtype.Error" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#491">Source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a></h4></section><details class="toggle" open><summary><section id="associatedtype.MetaSource" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#498">Source</a><h4 class="code-header">type <a href="#associatedtype.MetaSource" class="associatedtype">MetaSource</a>: <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a></h4></section></summary><div class="docblock"><p>The type of metadata source that this change strategy requires in order to be able to
|
|
retrieve required wallet metadata. If more capabilities are required of the backend than
|
|
are exposed in the <a href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource"><code>InputSource</code></a> trait, the implementer of this trait should define their
|
|
own trait that descends from <a href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource"><code>InputSource</code></a> and adds the required capabilities there, and
|
|
then implement that trait for their desired database backend.</p>
|
|
</div></details><details class="toggle" open><summary><section id="associatedtype.AccountMetaT" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#502">Source</a><h4 class="code-header">type <a href="#associatedtype.AccountMetaT" class="associatedtype">AccountMetaT</a></h4></section></summary><div class="docblock"><p>Tye type of wallet metadata that this change strategy relies upon in order to compute
|
|
change.</p>
|
|
</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.fee_rule" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#506">Source</a><h4 class="code-header">fn <a href="#tymethod.fee_rule" class="fn">fee_rule</a>(&self) -> &Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.FeeRule" title="type zcash_client_backend::fees::ChangeStrategy::FeeRule">FeeRule</a></h4></section></summary><div class="docblock"><p>Returns the fee rule that this change strategy will respect when performing
|
|
balance computations.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.fetch_wallet_meta" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#510-515">Source</a><h4 class="code-header">fn <a href="#tymethod.fetch_wallet_meta" class="fn">fetch_wallet_meta</a>(
|
|
&self,
|
|
meta_source: &Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a>,
|
|
account: <Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a> as <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>>::<a class="associatedtype" href="../data_api/trait.InputSource.html#associatedtype.AccountId" title="type zcash_client_backend::data_api::InputSource::AccountId">AccountId</a>,
|
|
exclude: &[<Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a> as <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>>::<a class="associatedtype" href="../data_api/trait.InputSource.html#associatedtype.NoteRef" title="type zcash_client_backend::data_api::InputSource::NoteRef">NoteRef</a>],
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.AccountMetaT" title="type zcash_client_backend::fees::ChangeStrategy::AccountMetaT">AccountMetaT</a>, <Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.MetaSource" title="type zcash_client_backend::fees::ChangeStrategy::MetaSource">MetaSource</a> as <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>>::<a class="associatedtype" href="../data_api/trait.InputSource.html#associatedtype.Error" title="type zcash_client_backend::data_api::InputSource::Error">Error</a>></h4></section></summary><div class="docblock"><p>Uses the provided metadata source to obtain the wallet metadata required for change
|
|
creation determinations.</p>
|
|
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.compute_balance" class="method"><a class="src rightside" href="../../src/zcash_client_backend/fees.rs.html#543-553">Source</a><h4 class="code-header">fn <a href="#tymethod.compute_balance" class="fn">compute_balance</a><P: Parameters, NoteRefT: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>(
|
|
&self,
|
|
params: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&P</a>,
|
|
target_height: BlockHeight,
|
|
transparent_inputs: &[impl InputView],
|
|
transparent_outputs: &[impl OutputView],
|
|
sapling: &impl <a class="trait" href="sapling/trait.BundleView.html" title="trait zcash_client_backend::fees::sapling::BundleView">BundleView</a><NoteRefT>,
|
|
orchard: &impl <a class="trait" href="orchard/trait.BundleView.html" title="trait zcash_client_backend::fees::orchard::BundleView">BundleView</a><NoteRefT>,
|
|
ephemeral_balance: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="enum" href="enum.EphemeralBalance.html" title="enum zcash_client_backend::fees::EphemeralBalance">EphemeralBalance</a>>,
|
|
wallet_meta: &Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.AccountMetaT" title="type zcash_client_backend::fees::ChangeStrategy::AccountMetaT">AccountMetaT</a>,
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.TransactionBalance.html" title="struct zcash_client_backend::fees::TransactionBalance">TransactionBalance</a>, <a class="enum" href="enum.ChangeError.html" title="enum zcash_client_backend::fees::ChangeError">ChangeError</a><Self::<a class="associatedtype" href="trait.ChangeStrategy.html#associatedtype.Error" title="type zcash_client_backend::fees::ChangeStrategy::Error">Error</a>, NoteRefT>></h4></section></summary><div class="docblock"><p>Computes the totals of inputs, suggested change amounts, and fees given the
|
|
provided inputs and outputs being used to construct a transaction.</p>
|
|
<p>The fee computed as part of this operation should take into account the prospective
|
|
change outputs recommended by this operation. If insufficient funds are available to
|
|
supply the requested outputs and required fees, implementations should return
|
|
<a href="enum.ChangeError.html#variant.InsufficientFunds" title="variant zcash_client_backend::fees::ChangeError::InsufficientFunds"><code>ChangeError::InsufficientFunds</code></a>.</p>
|
|
<p>If the inputs include notes or UTXOs that are not economic to spend in the context
|
|
of this input selection, a <a href="enum.ChangeError.html#variant.DustInputs" title="variant zcash_client_backend::fees::ChangeError::DustInputs"><code>ChangeError::DustInputs</code></a> error can be returned
|
|
indicating inputs that should be removed from the selection (all of which will
|
|
have value less than or equal to the marginal fee). The caller should order the
|
|
inputs from most to least preferred to spend within each pool, so that the most
|
|
preferred ones are less likely to be indicated to remove.</p>
|
|
<ul>
|
|
<li><code>ephemeral_balance</code>: if the transaction is to be constructed with either an
|
|
ephemeral transparent input or an ephemeral transparent output this argument
|
|
may be used to provide the value of that input or output. The value of this
|
|
argument should be <code>None</code> in the case that there are no such items.</li>
|
|
<li><code>wallet_meta</code>: Additional wallet metadata that the change strategy may use
|
|
in determining how to construct change outputs. This wallet metadata value
|
|
should be computed excluding the inputs provided in the <code>transparent_inputs</code>,
|
|
<code>sapling</code>, and <code>orchard</code> arguments.</li>
|
|
</ul>
|
|
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-ChangeStrategy-for-MultiOutputChangeStrategy%3CR,+I%3E" class="impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#198-263">Source</a><a href="#impl-ChangeStrategy-for-MultiOutputChangeStrategy%3CR,+I%3E" class="anchor">§</a><h3 class="code-header">impl<R, I> <a class="trait" href="trait.ChangeStrategy.html" title="trait zcash_client_backend::fees::ChangeStrategy">ChangeStrategy</a> for <a class="struct" href="zip317/struct.MultiOutputChangeStrategy.html" title="struct zcash_client_backend::fees::zip317::MultiOutputChangeStrategy">MultiOutputChangeStrategy</a><R, I><div class="where">where
|
|
R: <a class="trait" href="zip317/trait.Zip317FeeRule.html" title="trait zcash_client_backend::fees::zip317::Zip317FeeRule">Zip317FeeRule</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
|
|
I: <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>,
|
|
<R as FeeRule>::Error: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><BalanceError>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.FeeRule-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#204">Source</a><a href="#associatedtype.FeeRule-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.FeeRule" class="associatedtype">FeeRule</a> = R</h4></section><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#205">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <R as FeeRule>::Error</h4></section><section id="associatedtype.MetaSource-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#206">Source</a><a href="#associatedtype.MetaSource-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.MetaSource" class="associatedtype">MetaSource</a> = I</h4></section><section id="associatedtype.AccountMetaT-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#207">Source</a><a href="#associatedtype.AccountMetaT-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.AccountMetaT" class="associatedtype">AccountMetaT</a> = <a class="struct" href="../data_api/struct.AccountMeta.html" title="struct zcash_client_backend::data_api::AccountMeta">AccountMeta</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ChangeStrategy-for-SingleOutputChangeStrategy%3CR,+I%3E" class="impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#95-155">Source</a><a href="#impl-ChangeStrategy-for-SingleOutputChangeStrategy%3CR,+I%3E" class="anchor">§</a><h3 class="code-header">impl<R, I> <a class="trait" href="trait.ChangeStrategy.html" title="trait zcash_client_backend::fees::ChangeStrategy">ChangeStrategy</a> for <a class="struct" href="zip317/struct.SingleOutputChangeStrategy.html" title="struct zcash_client_backend::fees::zip317::SingleOutputChangeStrategy">SingleOutputChangeStrategy</a><R, I><div class="where">where
|
|
R: <a class="trait" href="zip317/trait.Zip317FeeRule.html" title="trait zcash_client_backend::fees::zip317::Zip317FeeRule">Zip317FeeRule</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
|
|
I: <a class="trait" href="../data_api/trait.InputSource.html" title="trait zcash_client_backend::data_api::InputSource">InputSource</a>,
|
|
<R as FeeRule>::Error: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><BalanceError>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.FeeRule-2" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#101">Source</a><a href="#associatedtype.FeeRule-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.FeeRule" class="associatedtype">FeeRule</a> = R</h4></section><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#102">Source</a><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <R as FeeRule>::Error</h4></section><section id="associatedtype.MetaSource-2" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#103">Source</a><a href="#associatedtype.MetaSource-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.MetaSource" class="associatedtype">MetaSource</a> = I</h4></section><section id="associatedtype.AccountMetaT-2" class="associatedtype trait-impl"><a class="src rightside" href="../../src/zcash_client_backend/fees/zip317.rs.html#104">Source</a><a href="#associatedtype.AccountMetaT-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.AccountMetaT" class="associatedtype">AccountMetaT</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h4></section></div></details></div><script src="../../trait.impl/zcash_client_backend/fees/trait.ChangeStrategy.js" async></script></section></div></main></body></html> |