Hi Team...
Here is the contract - https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/master/contracts/metatx/ERC2771ContextUpgradeable.sol
Since it's upgradable, why does it have constructor
and not the initialize
function ?
Thanks..
Hi @novaknole, this particular case sets an immutable variable which gets embedded in the bytecode, so it is set in the constructor of the implementation. Please see https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/issues/147 for details on the reasoning.