Back to Home

Wallet

0x7105cdc8bd45...6a3607e14765
ByzantiumSource VerifiedEdit this contract
Deployed February 24, 2018 (8 years ago)Block 5,148,411

Operator-gated forwarder that checks the transaction origin against an exchange operator list before passing the call through to a target contract.

Byzantium EraVerified Source

Historical Significance

The tx.origin check dates this contract. It was a common way to let an operator drive a wallet through arbitrary intermediate contracts, and it was already being argued against by the time this was deployed because it treats any contract the operator touches as trusted. The contract is also a study in how little a forwarder needs: no selectors, no events, no owner, just a registry lookup and a call.

Key Facts
Deployment Block
5,148,411
Deployment Date
Feb 24, 2018, 02:52 PM
Code Size
383.0 B
Transactions by Year
20182,563
20192,206
2020950
202139
20224
20231

Description

A fallback-only contract with no function dispatcher at all. Every call reads the operator registry held in its first storage slot, asks it whether the transaction origin is a registered operator, and reverts if not. It then loads the forwarding target from the second slot, copies the incoming calldata into memory, and issues a plain call with the free memory pointer as the return buffer. The result is returned or reverted verbatim.

Because the authorisation is on tx.origin rather than msg.sender, the check follows the human who signed the transaction rather than whatever contract happens to sit in between.

Source Verified

Solidityeh_crack_source_verified
Compiler: v0.4.18

Bytecode Overview

Opcodes383
Unique Opcodes89
Jump Instructions13
Storage Operations3

External Links