-
Notifications
You must be signed in to change notification settings - Fork 524
AVM: FIDO2 OpCodes #3514
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
AVM: FIDO2 OpCodes #3514
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is good. Note to further reviewers: This PR is NOT intended to cause any changes in the current protocol or even, really, in vFuture. These opcodes needs to be gated so that the new opcodes only get turned on by testers who want it (we will maintain a small feature branch with the changes to turn them on).
With that in mind, I think fidoVersion should be set to LogicSigVersion+1 before merging. (And set to LogicSigVersion only in the small feature branch.)
Three opcodes that all pertain to FIDO2 authorization. They are slated for Teal7 here, but they can be delayed by changing fidoVersion. Co-authored-by: Igor Durovic <igor.durovic@algorand.com> Co-authored-by: algoidurovic <91566643+algoidurovic@users.noreply.github.com> Co-authored-by: shiqi.zheng@algorand.com <shiqi.zheng@algorand.com>
Experimental FIDO2 OpCodes
This is a branch containing OpCodes which are needed for FIDO2 authentication:
base64_decodejson_refecdsa_*opcodes for new curveSecp256r1The usage patterns are not set in stone and these op codes may change before being released.
Note
This PR is NOT intended to cause any changes in the current protocol or even, really, in vFuture. These opcodes need to be gated so that the new opcodes only get turned on by testers who want it (we will maintain a small feature branch with the changes to turn them on).
TESTING
b38c152cwithfidoVersion = 7passes all testsd566072bwithfidoVersion = LogicVersion + 1passes all tests