I find one major characteristic of EOSIO is that the smart contract code is interchangeable, so that developers can easily fix any bugs or change its logic.
But what if someone changes the code to scam others, for example a money-related contracts such as ICO/STO contracts to scam others? And what if those contracts have complex architectures and take modular approach so that it's even harder to track any changes on the code?
In case of Ethereum, the contract codes cannot change, so hardcoding the deployed contract's address on other codes should solve such a problem.
Would hardcoding to assert on the hash of the binary WASM code solve that problem?
https://medium.com/eos-new-york/eos-governance-approaching-immutable-dapp-architecture-e15a5c4db83c