hello everyone , I’m developing ethereum lightclient on ICP, I need verify the signature of ethereum commutee on consensus. so I import the ic_bls12_381 for it. then I can compile the canister . but when i extract the did file, I got a error:
Error: unknown import: __wbindgen_placeholder__::__wbindgen_describe
has not been defined
How can I fix it?
Normally this happened because one of the dependencies not support in canister runtime
but the package is developed by dfinity for canister
I don’t mean this package, it can be another one.
but when I don’t import ic_bls12_381, all things is ok.
The ic_bls12_381
canister was created for use within the IC replicas, we (at least on the cryptography team) have not tested it in canisters at all. The crate is pure Rust so I’m not sure what the problem might be in terms of compiling it for webassembly.
I was reminded that we do use ic_bls12_381
in a couple of canisters such as VetKD API mock canister, without any apparent problems. Can you post some kind of minimal example that replicates the problem you’re seeing?
when I import this:
use ic_bls12_381::{
hash_to_curve::{ExpandMsgXmd, HashToCurve},
multi_miller_loop, G1Affine, G1Projective, G2Affine, G2Prepared, G2Projective, Gt, Scalar,
};
I got the error above