I think even with the max gas limitation there’s a similar issue.
The attacker just needs to calculate and set the verificationGas such that C1
runs out of gas only when address C2
is not primed. Then if the call to C1
fails, pay the EntryPoint and if it succeeds, revert. There should be enough gas left over for this due to the 63/64ths rule (we can make the leftover gas as large as necessary by burning a bunch in C1
).