Support Anoma stdlib sign-detached API #2798
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for the Anoma stdlib
sign-detached
API.This corresponds to the sign_detached libsodium API.
This is requried to support to new Anoma nullifier format:
anoma/anoma@d6a6145
Previously resource nullifiers were defined using
anomaSign
:They are now defined using
anomaSignDetached
:This is so that a logic function can access the nullified resources directly from the
nullifier
field.Evaluator Note
When decoding a public key, private key or signature from an integer atom to a bytestring it's important to pad the bytestring to the appropriate number of bytes. For example a private key must be 64 bytes but the corresponding encoded integer may fit into 63 bytes or fewer bytes (depending on leading zeros). This PR also fixes this issue by adding a
atomToByteStringLen
function with also accepts the expected size of the resulting bytestring.