Back to Home

Proxy

0xd6afffa8c438...a15852ceb147
ByzantiumSource VerifiedEdit this contract
Deployed January 10, 2018 (8 years ago)Block 4,884,633

Later, simpler build of the same settings-driven proxy: one lookup for the implementation, then a plain delegatecall with no return-size table.

Byzantium EraVerified Source

Historical Significance

The gap between this build and the earlier one is the arrival of RETURNDATASIZE. Once a contract could ask how much data a call returned, the bookkeeping that made the first version awkward simply evaporated, and the proxy shrank by a quarter. Both versions are in service on chain, so the two sit side by side as a before and after of the same upgrade.

Key Facts
Deployment Block
4,884,633
Deployment Date
Jan 10, 2018, 09:57 AM
Code Size
483.0 B
Transactions by Year
20183

Description

The storage layout and the outward behaviour are unchanged from the earlier build. Empty calldata logs a Deposit and stops; anything else is forwarded to whatever address the settings contract currently names as the target.

What is gone is the size lookup. This version calls delegatecall through Solidity's own address member rather than inline assembly, wraps it in require, and lets the compiler handle the memory. The selector-to-return-width table the earlier proxy consulted on every call is no longer needed.

initialize is still present and still empty, kept so the deployed interface matches its predecessor.

Source Verified

Solidityeh_crack_source_verified
Compiler: v0.4.18

Bytecode Overview

Opcodes483
Unique Opcodes116
Jump Instructions24
Storage Operations7

External Links

Related contracts