This PR updates the logic used to determine if a contract is L1 or L2 version. Previously, the check only considered if the chainId was mainnet or if it was manually flagged as an isL1SafeSingleton=true by the user.
Now we also considers whether the Safe version does not have the SAFE_L2_CONTRACTS feature (safeVersion >= 1.3.0)
What it solves
This PR updates the logic used to determine if a contract is L1 or L2 version. Previously, the check only considered if the chainId was
mainnet
or if it was manually flagged as anisL1SafeSingleton=true
by the user.Now we also considers whether the Safe version does not have the
SAFE_L2_CONTRACTS
feature (safeVersion >= 1.3.0
)How this PR fixes it