Go to file
Jack Grigg 4505cb8438 Improve the ZIP 32 arbitrary key derivation test vectors
When using them, I forgot that `bytes(range(32))` doesn't generate an
all-zeroes seed of length 32, so I was using the wrong seed with the
test vectors and they were failing. We now embed that seed in the test
vectors, along with the context string (to make it clear that there is
no trailing null byte) and the IKM (which is what clued me into the seed
being wrong).
2024-11-13 07:14:35 +00:00
.github/workflows Modify the `regenerate` script to be more user-friendly. 2024-10-02 16:32:26 +01:00
test-vectors Improve the ZIP 32 arbitrary key derivation test vectors 2024-11-13 07:14:35 +00:00
zcash_test_vectors Improve the ZIP 32 arbitrary key derivation test vectors 2024-11-13 07:14:35 +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
orchard_vesta.py Correct ROOT_OF_UNITY. 2021-10-12 15:36:43 +02:00
poetry.lock Make it possible to generate testnet test vectors for ZIP 320 addresses. 2024-05-15 22:32:36 -06:00
pyproject.toml Add test vectors for ZIP 32 arbitrary key derivation 2024-11-02 05:15:28 +00:00
regenerate.sh Add test vectors for ZIP 32 arbitrary key derivation 2024-11-02 05:15:28 +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.