Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addition of test vectors for OrchardZSA #100

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

vivek-arte
Copy link

@vivek-arte vivek-arte commented Jun 11, 2024

This PR creates updated test vectors for

  • OrchardZSA note encryption
  • OrchardZSA key components
  • OrchardZSA asset base generation
  • Issuance Authorization Signature

These are created in a manner that keeps the values of the existing Orchard, Sapling, and transparent test vectors unchanged.

This PR also includes a change in the output.py file to create Rust files that can be used in a stand-alone fashion (along with the corresponding changes to the generated test vector files). This should help with the open issue #65.

daniben31 and others added 19 commits June 7, 2022 14:24
Issuer keys test vectors implementation
* zsa-note-type: test vectors for note commitment and encryption

* zsa-note-type: explicit native then ZSA notes

* zsa-note-type: consistent order of arguments

* zsa-note-type: revert output format

* zsa-note-type: commit note encryption with note type test vectors

Co-authored-by: Aurélien Nicolas <[email protected]>
* zsa-sync-test-vectors: output directly the needed test code

* zsa-sync-test-vectors: regenerate rust code with the same content but final format

Co-authored-by: Aurélien Nicolas <[email protected]>
- Updated to support encryption_v3 as given in QED-it/orchard#38 and QED-it/librustzcash#18.

- This PR breaks compatibility with OrchardDomainV2
This adds the changes to the zcash test vectors to update the calculation of the Asset Base from the Asset Identifier via the Asset Digest, as detailed in ZIP 227.
We would like to have the same R constant for ZEC and ZSA note commitments.
…orr scheme, and rename `asset_id` to `asset_base` (#12)

This updates the ik derivation to be via the Schnorr scheme, and refactors asset_id.py to asset_base.py.

It also adds test vector generation code for issuance authorization signature, adds a check to ensure the `isk` is non zero, and updates the generated Rust files.
This merges upstream changes into the `zsa1` branch of our fork.
This separates the additions of the ZSA work into a separate file, creating separate test vector files for them. It also adds in upstream changes to the test vectors crate.
* changing documentation of the BIP 340 code to reflect the specific commit it has been taken from

* re-adding the main function to key_components so that orchard vectors can be generated independently

* reducing code duplication between orchard and orchard_zsa key_components

* cosmetic changes to reduce unnecessary divergences from upstream, addition of blank line at end of some files

* making the key component random initialization cleaner

* adding suggestions from review
This is to add upstream changes for ZIP 320 test vectors into the repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants