I am trying to use the `libsecp256k1` library in a no-std environment and I get the following error when building the contract: ``` [wasm-validator error in module] unexpected true: memory max >= initial, on memory ``` It seems like this happens while using the recover function only -> The main problem is to try and recover a public key given an ethereum signature and message. ``` libsecp256k1 = { version="0.7.1", default-features = false, features = ["static-context"] } ``` It looks like I need the static-context feature to be able to use the recovery function, however, after digging through the source code, it seems like recovery actually calls recovery_with_context, which actually adds an additional parameter - context, defined like this ``` #[cfg(all(feature = "static-context", not(feature = "lazy-static-context")))] /// A static ECMult context. // Correct `pre_g` values are fed into `ECMultContext::new_from_raw`, generated by build script. pub static ECMULT_CONTEXT: ECMultContext = unsafe { ECMultContext::new_from_raw(include!(concat!(env!("OUT_DIR"), "/const.rs"))) }; #[cfg(all(feature = "static-context", not(feature = "lazy-static-context")))] /// A static ECMultGen context. // Correct `prec` values are fed into `ECMultGenContext::new_from_raw`, generated by build script. pub static ECMULT_GEN_CONTEXT: ECMultGenContext = unsafe { ECMultGenContext::new_from_raw(include!(concat!(env!("OUT_DIR"), "/const_gen.rs"))) }; ``` Please note, that since this example is meant for the Phala Ink! environment, no standard libraries can be used. Alternatives are also welcome - I just want to extract the public key from the signature and message, as stated before. ``` pub fn recover_pubkey(&self, v: u8, r: Vec<u8>, s: Vec<u8>, message: Vec<u8>) ```