Go to file
Jack Grigg 65f611ae39 Add basic structural test vectors for legacy transactions
The test vectors include explicit values for simple fields like pubkeys
and signatures, and lengths of variable-length composite fields like
Sapling Spends and Sprout JSDescriptions.
2022-03-11 14:57:51 +00:00
.github/workflows [GitHub Actions] Generate Bitcoin-flavoured test vectors with .json filetype. 2022-02-07 22:58:59 +00:00
test-vectors Add basic structural test vectors for legacy transactions 2022-03-11 14:57:51 +00:00
zcash_test_vectors Add basic structural test vectors for legacy transactions 2022-03-11 14:57:51 +00: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
poetry.lock Fix endianness of the child index in bip_0032 derivation. 2022-02-12 21:15:25 +00:00
pyproject.toml Add basic structural test vectors for legacy transactions 2022-03-11 14:57:51 +00:00
regenerate.sh Add basic structural test vectors for v5 transactions 2022-03-11 14:45:12 +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.