Open jb747 opened 2 years ago
The code is obviously rough but it was getting close to a clean build before hitting the bug. Let me know if I can help to track it down.
hopefully the code helps to uncover an underlying issue. Meanwhile, if someone can explain what the "derivation path" used by the ECDSA API is, then it seems that the code might simplify enough to build cleanly. The bitcoin example doesn't seem to give it much importance but perhaps it is atypical.
The reason this code fails is, I believe, due to the fact that IR requires IC features (ManagementCanister, Bitcoin API) that are not available in the interpreter nor in the wasi target you are using to run your tests. We should definitely have the wasi compiled code and interpreter fail more gracefully in such cases, but I think you need to re-write at leat part of your tests to run on a local replica instead.
I don't have an answer to your "deriviation path" question but perhaps someone on the forum will.
hopefully the code helps to uncover an underlying issue. Meanwhile, if someone can explain what the "derivation path" used by the ECDSA API is, then it seems that the code might simplify enough to build cleanly. The bitcoin example doesn't seem to give it much importance but perhaps it is atypical.
https://internetcomputer.org/docs/current/references/ic-interface-spec contains some mentions of derivation_path, if that helps any,
Thanks for explanation of the overall failure.
This is a source which explains that the derivation path can be used to create a hierarchy of public keys: https://internetcomputer.org/docs/current/samples/t-ecdsa-sample/.
Reported when running
make
in test project: