Go to file
Kris Nuttycombe 97f9fbb44c Generate predictable UA structure for the first 3 test vectors.
This makes the first few test vectors easier to use by wallet
implementers. The generated UAs now have the following structure:

* Account 0: P2PKH + Sapling
* Account 1: P2PKH + Sapling + Orchard
* Account 2: Sapling + Orchard

The remainder are randomly generated as before.
2022-10-07 19:17:35 -06:00
.github/workflows Update dependency versions. 2022-09-19 15:36:15 -06:00
test-vectors Use unified addresse strings in test vectors rather than byte vectors. 2022-09-19 13:59:00 -06:00
zcash_test_vectors Generate predictable UA structure for the first 3 test vectors. 2022-10-07 19:17:35 -06:00
.gitignore Additions to .gitignore. 2018-07-03 15:04:41 +01:00
COPYING.md Move COPYING to COPYING.md so that it will be rendered correctly by GitHub. 2021-10-12 14:12:11 +01:00
LICENSE-APACHE Add license information 2019-07-03 17:37:23 +01:00
LICENSE-MIT Update copyright year in LICENSE-MIT. 2022-01-04 19:34:54 +00:00
README.md Move remaining scripts out of the root directory. 2022-02-08 13:53:57 +00:00
orchard_vesta.py Correct ROOT_OF_UNITY. 2021-10-12 15:36:43 +02:00
poetry.lock Update dependency versions. 2022-09-19 15:36:15 -06:00
pyproject.toml Update dependency versions. 2022-09-19 15:36:15 -06:00
regenerate.sh Add BIP 32 key derivation and test vectors. 2022-02-11 16:29:14 +00:00

README.md

Zcash Python test vectors

Code to generate test vectors for various parts of Zcash.

The generated test vectors are checked into the repository:

  • test-vectors/json/: JSON format.
  • test-vectors/rust/: Rust format, suitable for copying into a Rust library or application to use from #[cfg(test)] code.
  • test-vectors/zcash/: Bitcoin-flavoured JSON format (where 256-bit values are encoded as byte-reversed hex strings), for use in zcashd unit tests.

To generate the test vectors yourself (for example, to generate a larger set after adjusting:

  • Install poetry.
  • poetry install
  • poetry run SCRIPT_NAME [-t json|rust|zcash]
    • SCRIPT_NAME is one of the scripts listed in pyproject.toml.

License

Licensed under either of

at your option.

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.