The issue is that the WASM is larger than 2MiB (WASM: length: 2128274) which makes the upgrade fail on mainnet since the upgrade involves a call from the SNS subnet to your application’s subnet. Locally, it works since the local replica has all canisters (SNS canisters and your application canisters on a single subnet). I’d recommend you to gzip the WASM to make its size lower than 2MiB.
Hi, @mraszyk , I need your help again. Here’s another case where a proposal was successfully executed but the canister did not upgrade, and it’s not an issue with the wasm size.
This is an upgrade to the ICDex Trader canister; I just added an empty validate_withdraw function:
In that case, it’s likely due to the post-upgrade hook failing given the argument payload you provided in the SNS proposal (e.g., doesn’t parse or is invalid for some other reason).
I don’t have experience writing Motoko programs, but I checked the source code and found no postupgrade-related logic.
I suspect the Motoko version might be too old; it can only compile in the dfx: 0.15.3 / moc: 0.10.3 environment.
It might still be necessary to have the ICLighthouse team take a look.