Skip to main content

Why Does a Transparent Proxy Need to Check the Caller’s Address?

The Transparent Proxy checks the caller's address to resolve a function name clash. If the caller is the contract admin, the proxy executes the internal upgrade-related functions (like upgradeTo ).

If the caller is any other user, the proxy assumes the user wants to call a function in the logic contract and uses delegatecall. This prevents regular users from accidentally or maliciously calling admin functions.

Distinguish between Initial Margin and Maintenance Margin
Why Is Formal Verification More Challenging for Mutable Contracts?
What Is a Proxy Pattern in the Context of Smart Contract Mutability?
What Is an “Admin Key” in the Context of Upgradeable Contracts?