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.

What Is a Proxy Pattern in the Context of Smart Contract Mutability?
What Is the Difference between ‘Last Look’ and ‘Pre-Trade Credit Check’ in Derivatives Trading?
How Does the Concept of “Delegated Voting” Impact the Valuation of a Governance Token?
What Is an “Admin Key” in the Context of Upgradeable Contracts?
How Is the Upgrade Function Typically Triggered in a UUPS Contract?
Can Gas Optimizations in the Logic Contract Offset the Proxy’s Overhead?
What Is the Difference between a Transparent Proxy and a UUPS Proxy?
How Can Investors Check a token’S Contract for Potential’rug Pull’ Functions?

Glossar