Go to file
Kris Nuttycombe 9a7dc0db84 Add traits for fee estimation and input selection
This adds a set of abstractions that allow wallets to provide
independent strategies for fee estimation and note selection, and
implementations of these strategies that perform these operations in the
same fashion as the existing `spend` and `shield_transparent_funds`
functions.

This required a somewhat hefty rework of the error handling in
zcash_client_backend. It fixes an issue with the error types whereby
callees needed to have a bit too much information about the error
types produced by their callers.

Reflect the updated note selection and error handling in zcash_client_sqlite.
2022-11-10 12:17:59 -07:00
.github zcash_client_backend: Switch from `protobuf 2` to `prost 0.11` 2022-11-02 06:21:38 +00:00
components Bump zcash_encoding and zcash_address crate versions to 0.2. 2022-10-19 16:51:59 -06:00
librustzcash Remove librustzcash crate 2020-03-14 10:50:04 +13:00
zcash_client_backend Add traits for fee estimation and input selection 2022-11-10 12:17:59 -07:00
zcash_client_sqlite Add traits for fee estimation and input selection 2022-11-10 12:17:59 -07:00
zcash_extensions Improve type safety of note commitment tree node construction. 2022-11-03 18:44:48 -06:00
zcash_history This reverts a previous incorrect change to the changelog. 2022-10-19 16:05:04 -06:00
zcash_primitives Add traits for fee estimation and input selection 2022-11-10 12:17:59 -07:00
zcash_proofs Categorise dependencies in `Cargo.toml` files 2022-11-01 09:02:54 +00:00
.gitattributes zcash_client_backend: Add gRPC bindings behind feature flag 2022-11-02 06:22:02 +00:00
.gitignore Add Cargo.lock to .gitignore 2020-03-25 17:24:50 +13:00
.gitlab-ci.yml Remove duplicate test stage for rust lastest 2018-10-09 09:34:10 -07:00
COPYING.md Ensure that GitHub's "View license" link points to complete license information. 2022-01-18 14:19:53 +00:00
Cargo.toml Update zcash_primitives to orchard 0.3; release zcash_primitives and zcash_proofs 0.8. 2022-10-19 13:32:51 -06:00
LICENSE-APACHE Add license files. 2017-03-17 11:09:05 -06:00
LICENSE-MIT Update copyright year in LICENSE-MIT. 2022-01-18 14:19:53 +00:00
README.md Address feedback about the use of "permissive". 2022-06-28 16:46:13 +01:00
rust-toolchain Update MSRV to 1.56.1 2022-02-24 12:26:14 -07:00

README.md

Zcash Rust crates

This repository contains a (work-in-progress) set of Rust crates for working with Zcash.

Security Warnings

These libraries are currently under development and have not been fully-reviewed.

License

All code in this workspace is licensed under either of

at your option.

Downstream code forks should note that some (but not all) of these crates and components depend 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, and the README.md files in subdirectories for which crates and components this applies to.

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.