From a61e92627dd635f917794f81ce7d1fbe6416407b Mon Sep 17 00:00:00 2001 From: Vectorized Date: Tue, 18 Feb 2025 00:13:54 +0000 Subject: [PATCH] T --- src/accounts/EIP7702Proxy.sol | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/accounts/EIP7702Proxy.sol b/src/accounts/EIP7702Proxy.sol index 9955fd245..c6d9d52c2 100644 --- a/src/accounts/EIP7702Proxy.sol +++ b/src/accounts/EIP7702Proxy.sol @@ -119,12 +119,11 @@ contract EIP7702Proxy { revert(0x00, returndatasize()) } // Because we cannot reliably and efficiently tell if the call is made - // via staticcall or call, we shall ask the delegation to request a - // proxy delegation initialization request via the `_ERC1967_IMPLEMENTATION_SLOT` - // to signal that we should replace it with the actual implementation. - // This also gives the flexibility on whether to let the proxy auto-upgrade, - // or let the authority manually upgrade. - // A non-zero value in transient storage denotes a initialization request. + // via staticcall or call, we shall ask the delegation to make a proxy delegation + // initialization request to signal that we should initialize the storage slot with + // the actual implementation. This also gives flexibility on whether to let the + // proxy auto-upgrade, or let the authority manually upgrade. + // A non-zero value in the transient storage denotes a initialization request. if tload(_EIP7702_PROXY_DELEGATION_INITIALIZATION_REQUEST_SLOT) { let implSlot := _ERC1967_IMPLEMENTATION_SLOT // The `implementation` is still at `calldatasize()` in memory.