Maybe you can have a check another modifier reinitializer, it can be used like this:
contract MyToken is ERC20Upgradeable {
function initialize() initializer public {
__ERC20_init("MyToken", "MTK");
}
}
contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {
function initializeV2() reinitializer(2) public {
__ERC20Permit_init("MyToken");
}
}
Can we have a initializer that can make changes to variables that was in initialize at first.
Eg:
initStaking(address _rewardsContract) initializer
initStaking2(addres _rewardsContract) reinitializer(2)