pub enum Optimize {
Run {
tax_year: i32,
},
Accept {
tax_year: i32,
disposal: Option<String>,
attest: Option<String>,
},
Consult {
sell: String,
wallet: Option<String>,
at: Option<String>,
proceeds: Option<String>,
fmv: bool,
},
}Expand description
optimize subcommand tree. Task 9 adds Run; Task 10 adds Accept; Task 11 adds Consult.
Variants§
Run
Mode-1 what-if: print the tax-saving lot-selection proposal. NOTHING is filed or bound.
Accept
Mode-1 gated persistence: recompute the optimum and persist the proposed LotSelection(s),
gated per disposal (§1.1012-1(j)). A genuinely-contemporaneous pick (made ≤ sale) persists
freely; an already-executed disposal persists ONLY with a narrow per-disposal --attest
scoped to one --disposal; a 2027+ broker-held pick is refused. Revoke via reconcile void.
Fields
Consult
Mode-2 read-only pre-trade what-if (§C.3): tax-min lots + ST/LT split + federal tax + ST→LT timing. NOTHING is written — no event, no side-table row. Tax decision-support only; not buy/sell/hold advice.
Fields
sell: StringHypothetical sale amount (required). Accepts a satoshi integer OR a BTC decimal, e.g.
0.05 or 5000000 (a value with a . is BTC; a bare integer is satoshis).
wallet: Option<String>Wallet to sell from, e.g. self:cold or exchange:coinbase:default (required; per-wallet
pool is mandatory post-2025).
Trait Implementations§
Source§impl FromArgMatches for Optimize
impl FromArgMatches for Optimize
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Optimize
impl Subcommand for Optimize
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand