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

fix: Add field aux to SignWithSchnorrArgument #573

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

xiaoyuanxun
Copy link

IC's interface documentation and examples repository both mention that the sign_with_schnorr function parameters contain an optional aux field when introducing the function.

If this field is provided, the Taproot signature will be executed according to the BIP341 standard.

However, the SignWithSchnorrArgument structure in the ic-cdk crate did not have this field.
For developers who rely on ic-cdk to call IC Managemet Canister, it may cause difficulties in development.

I encountered this problem today. I directly used the sign_with_schnorr interface of ic-cdk to sign a bitcoin Taproot transaction, but when I broadcast the transaction, the bitcoin node always reported an error that the signature verification failed. After I consulted the official documentation and examples, it took a lot of time to solve this problem.

So I think the SignWithSchnorrArgument structure should add this optional aux field.

IC Interface Doc : https://internetcomputer.org/docs/references/ic-interface-spec#ic-sign_with_schnorr

Example Repo : https://github.com/dfinity/examples/blob/master/rust/basic_bitcoin/src/basic_bitcoin/src/schnorr_api.rs

@xiaoyuanxun xiaoyuanxun requested a review from a team as a code owner March 8, 2025 14:21
@xiaoyuanxun xiaoyuanxun changed the title fix: Add field aut to SignWithSchnorrArgument fix: Add field aux to SignWithSchnorrArgument Mar 8, 2025
@cla-idx-bot
Copy link

cla-idx-bot bot commented Mar 8, 2025

Dear @xiaoyuanxun,

In order to potentially merge your code in this open-source repository and therefore proceed with your contribution, we need to have your approval on DFINITY's CLA.

If you decide to agree with it, please visit this issue and read the instructions there. Once you have signed it, re-trigger the workflow on this PR to see if your code can be merged.

— The DFINITY Foundation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant