Implement Wasm validation for known issues/markers

Sergej Kostjucenko requested to merge cmichi-validate-wasm-import-fns into master

Created by: cmichi

Closes #163 (closed).

Output currently looks like this:


 [2/3] Post processing wasm file                                                                                                                               
ERROR: Validation of the Wasm failed.                                          
                                                                               
                                                                               
ERROR: An error was found while compiling the contract:                       
The ink! message with the selector `0xAD931DAA` contains an invalid trait call. 
                                                                               
Please check if the mutable parameter of the function to call is consistent                                                                                    
with the scope in which it is called.                                                                                                                          
                                                                               
                                                                                                                                                               
ERROR: An unexpected panic function import was found in the contract Wasm.                                                                                     
This typically goes back to a known bug in the Rust compiler:                                                                                                  
https://github.com/rust-lang/rust/issues/78744

As a workaround try to insert `overflow-checks = false` into your `Cargo.toml`. 
This will disable safe math operations, but unfortunately we are currently not  
aware of a better workaround until the bug in the compiler is fixed.

Merge request reports