Usually, when we want to chain hashes one after another we start with the empty string hash and then hash the rest by encoding one after another like "" || str1 || str2 || ... and hashing them in pairs. However, in many places it is used 0 as the initial string which may lead to issues as some of your contracts in L1 do use EMPTY_STRING_KECCAK instead, namely
Executor, function _collectOperationsFromPriorityQueue
In the future, it seems there will be more. On the other hand, there are some places which do not follow this:
L1Messenger, line 210
L1Messenger, line 240
L1Messenger, line 258
L1Messenger, lines 331 to 335
SystemContext, line 293
Consider changing them to EMPTY_STRING_KECCAK.
