-
Switching the condition
!diamondStorage.isFrozen || !facet.isFreezable
to!(diamondStorage.isFrozen && facet.isFreezable)
thanks to De Morgan's laws, will save a bit of gas. -
Some of the operations can be carried out in
unchecked
blocks. An example is in the loop ofExecutor._processL2Logs
, where the operationsi+x
will likely never overflow becauseemittedL2Logs.length
will never be close totype(uint256).max
.