4505cb8438
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). |
||
---|---|---|
.github/workflows | ||
test-vectors | ||
zcash_test_vectors | ||
.gitignore | ||
COPYING.md | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
orchard_vesta.py | ||
poetry.lock | ||
pyproject.toml | ||
regenerate.sh |
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 inzcashd
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 inpyproject.toml
.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.