FYI, regarding the issues that @ktimam ran into, he was able to resolve them after Ulan explained that the wasm contained many exported globals that were unused. @ktimam was then able to correct the wasm, by hacking into it manually, and get it running on mainnet.
To fix the issue of those unused globals systematically, two things are planned:
- I plan to update icpp-pro to run a post build wasm optimization tool. Ulan made a recommendation (here) what to run and I am investigating right now how to integrate it.
- DFINITY team is planning to update the ic-wasm tool to always strip out unused globals (here)
So, many thanks to @ktimam for pushing the boundaries, and helping improve the IC and tooling.