librustzcash/zcash_client_backend
Kris Nuttycombe aa063ae3fd zcash_client_backend: Factor out input source traits from `WalletRead`
Prior to this change, it's necessary to implement the entirety of the
`WalletRead` trait in order to be able to use the input selection
functionality provided by `zcash_client_backend::data_api::input_selection`.
This change factors out the minimal operations required for transaction
proposal construction to better reflect the principle of least authority
and make the input selection code reusable in more contexts.

In order to minimize the operations of the newly-created `InputSource`
and `ShieldingSource` traits, this change also removes the
`min_confirmations` field from transaction proposals, in favor of
storing explicit target and anchor heights. This has the effect of
limiting the lifetime of transaction proposals to `PRUNING_DEPTH -
min_confirmations` blocks.
2023-11-08 12:41:49 -07:00
..
examples Remove redundant TryFrom/TryInto imports. 2022-09-02 12:05:15 -06:00
proptest-regressions ZIP 321 Reference Implementation (#294) 2020-10-15 14:03:40 +01:00
proto Implement `suggest_scan_ranges` and `update_chain_tip` 2023-07-07 20:13:45 -06:00
src zcash_client_backend: Factor out input source traits from `WalletRead` 2023-11-08 12:41:49 -07:00
CHANGELOG.md zcash_client_backend: Factor out input source traits from `WalletRead` 2023-11-08 12:41:49 -07:00
Cargo.toml zcash_client_backend: Factor out input source traits from `WalletRead` 2023-11-08 12:41:49 -07:00
LICENSE-APACHE Rename zcash_wallet to zcash_client_backend, set to 2018 edition 2019-06-27 16:02:12 +01:00
LICENSE-MIT Rename zcash_wallet to zcash_client_backend, set to 2018 edition 2019-06-27 16:02:12 +01:00
README.md Address feedback about the use of "permissive". 2022-06-28 16:46:13 +01:00
build.rs zcash_client_backend: Remove now-superfluous braces from build script 2023-08-31 20:32:42 +00:00

README.md

zcash_client_backend

This library contains Rust structs and traits for creating shielded Zcash light clients.

License

Licensed under either of

at your option.

Downstream code forks should note that 'zcash_client_backend' depends on the 'orchard' crate, which is licensed under the Bootstrap Open Source License. A license exception is provided allowing some derived works that are linked or combined with the 'orchard' crate to be copied or distributed under the original licenses (in this case MIT / Apache 2.0), provided that the included portions of the 'orchard' code remain subject to BOSL. See https://github.com/zcash/orchard/blob/main/COPYING for details of which derived works can make use of this exception.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.