function contractId() external pure returns (bytes32)
Returns the contract ID. It can be used as a check during upgrades.
Meant to be overridden in derived contracts.