Back to Home

UserWallet

0xac57c44c8dea...cdd84f73a536
ByzantiumSource VerifiedEdit this contract
Deployed July 30, 2018 (8 years ago)Block 6,056,527

Deposit wallet with a halt switch that forwards ether when active and, when called with no value, reads its own calldata to route a sweep through the controller.

Byzantium EraVerified Source

Historical Significance

Reading arguments out of msg.data by index, rather than declaring them, let one fallback stand in for a family of sweep functions whose signatures were not fixed when the wallets were deployed. The halt switch sits on the controller rather than on each wallet, so an operator could freeze collection across every deposit address at once while still accepting customer payments.

Token Information
Decimals
0
Key Facts
Deployment Block
6,056,527
Deployment Date
Jul 30, 2018, 09:46 AM
Code Size
1.7 KB
Transactions by Year
20187

Description

A later revision of the exchange deposit wallet. On a payment it checks halted() on its sweeper list, and while the system is running it reads destination(), forwards the ether and calls logSweep. When halted it accepts the payment and does nothing further, so deposits are never rejected outright.

A call with no value takes the other branch, which is gated on the caller being either sweeper() or owner() of the sweeper list. It then pulls arguments straight out of its own calldata through a helper that returns the nth ABI word, requires that the second argument matches its configured sweeper list, looks up sweeperOf the first argument and delegatecalls that sweeper. changeController and transferOwnership are owner gated and both refuse the zero address.

Source Verified

Solidityeh_crack_source_verified
Compiler: v0.4.24

Bytecode Overview

Opcodes1,707
Unique Opcodes137
Jump Instructions86
Storage Operations19

External Links