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
I had a quick discussion with Matt, in order to find out what we need to pay attention to when 7702 is deployed.
Before EVM is instantiated, i.e. upon tx receipt, the authorization list and sender are unpacked from the tx. This adds the following witness entries:
the sender's account (the From field of the transaction), to check for the balance (presumably, only the basic data leaf);
each entry in the authorization list will see its nonce checked, and the first chunk is read (to check that this is the right type of account) and written to (for a new delegation address).
Execution of the contract at address To in the transaction is executed normally, so entries are added like they normally would in the context of a regular execution.
If, during that execution, one of the addresses in the access list does a code-touching operation on a contract that starts with 0xef01, then all operations are forwarded to the delegated address (i.e. EXTCODESIZE will be that of the delegated address, CALL will call the code of the delegated address, etc...) whereas account operations (e.g. BALANCE) will touch the address of the delegating account. So care must be taken, to make sure that the proper values are added to the witness.
The text was updated successfully, but these errors were encountered:
I had a quick discussion with Matt, in order to find out what we need to pay attention to when 7702 is deployed.
Before EVM is instantiated, i.e. upon tx receipt, the authorization list and sender are unpacked from the tx. This adds the following witness entries:
From
field of the transaction), to check for the balance (presumably, only the basic data leaf);Execution of the contract at address
To
in the transaction is executed normally, so entries are added like they normally would in the context of a regular execution.If, during that execution, one of the addresses in the access list does a code-touching operation on a contract that starts with
0xef01
, then all operations are forwarded to the delegated address (i.e.EXTCODESIZE
will be that of the delegated address,CALL
will call the code of the delegated address, etc...) whereas account operations (e.g.BALANCE
) will touch the address of the delegating account. So care must be taken, to make sure that the proper values are added to the witness.The text was updated successfully, but these errors were encountered: