Cargo Features
zcash_client_backend has no features set by default.
[dependencies]
zcash_client_backend = { version = "0.21.0", features = ["lightwalletd-tonic", "lightwalletd-tonic-tls-webpki-roots", "lightwalletd-tonic-transport", "transparent-inputs", "transparent-key-import", "orchard", "zcashd-compat", "pczt", "sync", "tor", "test-dependencies", "non-standard-fees", "unstable", "unstable-serialization", "unstable-spanning-tree"] }
- default
-
These default features are set whenever
zcash_client_backendis added withoutsomewhere in the dependency tree.default-features = false Enables time
Dependencies exposed in a public API:
(Breaking upgrades to these require a breaking upgrade to this crate.)
- Data Access API - lightwalletd-tonic lightwalletd-tonic-tls-webpki-roots? lightwalletd-tonic-transport? sync?
-
Enables the
tonicgRPC client bindings for connecting to alightwalletdserver.Enables optional hyper-util, tonic, and tonic-prost
Affects
service::compact_tx_streamer_client… - lightwalletd-tonic-tls-webpki-roots = lightwalletd-tonic
-
Enables the
tls-webpki-rootsfeature oftonic.Enables tls-webpki-roots of optional tonic
- lightwalletd-tonic-transport = lightwalletd-tonic
-
Enables the
transportfeature oftonicproducing a fully-featured client and server implementation - transparent-inputs pczt? transparent-key-import?
-
Enables receiving transparent funds and shielding them.
Enables transparent-inputs of zcash_transparent, zcash_keys, and zcash_primitives and bip32
- Errors
and secp256k1 ^0.29
- Transparent protocol
Affects
pool::fails_to_send_max_spendable_to_transparent_with_memo,pool::spend_everything_multi_step_single_note_proposed_transfer,pool::spend_everything_multi_step_many_notes_proposed_transfer,pool::spend_everything_multi_step_with_marginal_notes_proposed_transfer,pool::send_multi_step_proposed_transfer,pool::spend_all_funds_multi_step_proposed_transfer,pool::proposal_fails_if_not_all_ephemeral_outputs_consumed,pool::shield_transparent,pool::wallet_recovery_computes_fees,testing::transparent,input_selection::ShieldingSelector,wallet::ProposeShieldingErrT,wallet::ShieldErrT,wallet::propose_shielding,wallet::shield_transparent_funds,data_api::WalletUtxo,data_api::TransactionStatusFilter,data_api::OutputStatusFilter,data_api::TransactionsInvolvingAddress,data_api::InputSource.get_unspent_transparent_output… - transparent-key-import = transparent-inputs
-
Enables operations that permit arbitrary transparent pubkeys to be associated with an account in the wallet. Applications that rely on this feature must maintain spending keys corresponding to all imported pubkeys for any account from which it permits spending.
Affects
data_api::WalletWrite.import_standalone_transparent_pubkey… - orchard pczt?
-
Enables receiving and spending Orchard funds.
Enables orchard ^0.11 and pasta_curves, orchard of zcash_keys
Affects
pool::pool_crossing_required,pool::fully_funded_fully_private,pool::multi_pool_checkpoint,pool::multi_pool_checkpoints_with_pruning,testing::orchard,testing::InitialChainState.prior_orchard_roots,testing::MockWalletDb.orchard_tree,data_api::ORCHARD_SHARD_HEIGHT,data_api::NoteRetention.should_retain_orchard,data_api::WalletRead.get_orchard_nullifiers,data_api::ScannedBlockCommitments.orchard,data_api::WalletCommitmentTrees.with_orchard_tree_mut,data_api::WalletCommitmentTrees.put_orchard_subtree_roots,fees::orchard,wallet::WalletOrchardSpend,wallet::WalletOrchardOutput,pool::fully_funded_send_to_t… - zcashd-compat
-
Enables compatibility with legacy zcashd wallet data
Enables zcashd-compat of zcash_keys
- pczt = orchard, transparent-inputs
-
Enables creating partially-constructed transactions for use in hardware wallet and multisig scenarios.
Enables postcard and serde, io-finalizer, prover, signer, spend-finalizer, tx-extractor and zcp-builder of pczt
Affects
error::PcztError,pool::ShieldedPoolTester.add_proof_generation_keys,pool::ShieldedPoolTester.apply_signatures_to_pczt,pool::pczt_single_step,wallet::ExtractErrT,wallet::create_pczt_from_proposal,wallet::extract_and_store_transaction_from_pczt… - sync = lightwalletd-tonic
-
Exposes a wallet synchronization function that implements the necessary state machine.
Enables async-trait and futures-util
async-trait:
- Sync engine
Affects
chain::BlockCache,zcash_client_backend::sync… - tor
-
Exposes a Tor client for hiding a wallet's IP address while performing certain wallet operations.
Enables rust_decimal, serde, and serde_json
rust_decimal:
- Currency conversion
and arti-client ^0.35, dynosaur, fs-mistrust ^0.12, and futures-util
arti-client:
- Tor
-- Exposed types:
arti_client::DormantMode,fs_mistrust::MistrustBuilder. -- Exposed error types:arti_client::Error,arti_client::config::ConfigBuildError,hyper::Error,hyper::http::Error,serde_json::Error. We could avoid this with changes to error handling.
and http-body-util, hyper, hyper-util, and rand ^0.8
http-body-util:
- HTTP through Tor
and tokio, tokio-rustls, tor-rtcompat ^0.35, tower, trait-variant, and webpki-roots
tokio:
- Tor
Affects
zcash_client_backend::tor… - Tor
-- Exposed types:
- test-dependencies
-
Exposes APIs that are useful for testing, such as
propteststrategies.NOTE: Semver-breaking changes to the APIs exposed by this feature may be present in any release version, including patch releases.
Enables jubjub, proptest >=1, <1.7, rand ^0.8, and rand_chacha ^0.3, bundled-prover of zcash_proofs, local-consensus of zcash_protocol, test-dependencies of zcash_keys and zcash_primitives, test-dependencies of optional orchard ^0.11 and ambassador and assert_matches
ambassador:
- Test dependencies
and test-dependencies of incrementalmerkletree
- Note commitment trees
Affects
chain::testing… - non-standard-fees
-
Exposes APIs that allow calculation of non-standard fees.
Enables non-standard-fees of zcash_primitives
Affects
fees::fixed… - unstable
-
Experimental features
Exposes unstable APIs. Their behaviour may change at any time.
Enables unstable of zcash_keys and byteorder
- Encodings
- unstable-serialization
-
Exposes APIs for unstable serialization formats. These may change at any time.
Enables byteorder
Affects
zcash_client_backend::serialization… - unstable-spanning-tree
-
Exposes the
data_api::scanning::spanning_treemodule.Affects
spanning_tree::SpanningTree…
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.