Trying to create an upgradeable contract with metatx capabilities

Hi all, I'm trying to create a contract that is upgradeable and also has a trusted forwarder feature. While trying to develop this I noticed this in the contract-upgradeable that there is a constructor pattern which according to your notes...probably should be an initialize function instead? The lines in the code are here:

Is this intentional or does this need to be changed? I just want to make sure I'm handling this in a safe manner and judging from previous notes it seems like invoking the constructor leads to issues in handling storage space? Please feel free to advice.

1 Like

This is intentional because _trustedForwarder is an immutable variable, which need to be written in the cosntructor.