You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just a note that this system call mechanism is similar to what is used on EIP-7002. However, our current implementation in Besu is not executing the actual contract bytecode, but is "manually" manipulating the contract storage to simulate the system call. Although this achieves the same end results, it is not a good idea as if the contract changes, we need to update our code to reflect that change (instead of just relying on the updated contract code).
My suggestion is to implement the logic to perform system calls and then use the same mechanism for both EIP-7002 and EIP-7251 system calls.
In terms of implementing system call logic, I think it could be similar to what we do with the TransactionSimulator when we want to process eth_call, but with the capability of persisting contract storage changes. But I haven't worked on Besu for a long time so I would take any suggestion I make with a grain of salt.
I believe @Gabriel-Trintinalia was looking at this system call logic at some point and might have more info about it.
EIP-7251 has added consolidation requests coming from the EL layer. Those requests are the same type as the withdrawal requests from EIP-7002.
The text was updated successfully, but these errors were encountered: