Error: New storage layout is incompatible
contracts/ContractB.sol:27: Replaced `_value` with `_roles` of incompatible type
contracts/ContractB.sol:29: Replaced `______gap` with `initialized` of incompatible type
The problem is that ContractA has its own variables (like _value), and when you inherit ContractB you displace those variables. They are being replaced in the layout with the new ones introduced by ContractB.
The right solution is to write this like: contract ContractANew is ContractA, ContractB.
Hey @frangio
I have made your suggested changes.
But, now I am looking for this: "How to inherit a ContractB with constructor inside a upgradeable contract- 'ContractANew'".
Could you please look into the issue?
Problem: I am not able to inherit the "contractB" with a constructor within inside "contractANew".
Any solution to this. If possible, you can probably fork the repo & make corresponding changes.