Upgrade authority and application authority may be separate paths.
LET’S PICTURE IT
The person replacing a vault’s manual can have different powers from a daily clerk.
SEE IT FOR YOURSELF
A valid counter call, step by stepStep 1 / 4
This example begins with count zero and a request to call increment(). No real contract is deployed.
This example begins with count zero and a request to call increment(). No real contract is deployed.Execution follows the code’s input and permission rules. A website button is not the access-control mechanism.The function reads zero, calculates zero plus one, and writes one to persistent storage.The accepted state contains count one. Later reads can inspect it. Events are emitted only if the code implements them.
Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.
List all authorities
Identify who changes implementations, who changes admin roles and who controls application actions. These may be different accounts or governance systems.
Inspect the exact proxy pattern
Transparent, UUPS and other designs route administration differently. Do not copy one pattern’s assumptions into another without reading its actual control flow.
Review implementation exposure
Initialization and direct calls to an implementation can have consequences depending on its design. Keep implementation instance state separate from proxy state in the analysis.
Test role separation
Exercise admin, user, former admin and unauthorized paths through the deployed local pattern. Include upgrade and initialization workflows rather than only normal calls.
Work through the boundary
roles: application owner; upgrade authority; emergency authority
review who can change each role and each implementation target
A simplified local review scenario. The example establishes a question to test, not a guarantee of production safety.
QUICK CHECK · NO PRESSURE
Are all proxy patterns administered through identical call paths?
Different proxy designs enforce different dispatch and authorization rules.