Back to Home

Vault

0x95f83cc98049...ac1abe10a01a
ByzantiumSource VerifiedEdit this contract
Deployed October 25, 2017 (8 years ago)Block 4,424,226

Deposit address that forwards its ether and any ERC-20 balance to one fixed wallet, driven entirely by a controller account.

Byzantium EraVerified Source

Historical Significance

The failure events are the interesting half. A sweeper that reverts on a bad token strands the whole batch; this one records the outcome and moves on, which is what an operator running thousands of deposit addresses actually needs. Fixing the destination wallet in the constructor and leaving out a setter means a compromised controller can redirect who signs the sweeps but never where the money lands.

Key Facts
Deployment Block
4,424,226
Deployment Date
Oct 25, 2017, 02:07 AM
Code Size
992.0 B
Transactions by Year
201855

Description

Storage holds two addresses: a controller, and the wallet everything drains into. The wallet is fixed at construction and has no setter, so a deployed vault can only ever pay one destination.

The fallback is payable and empty, which is the whole point of the contract: it is an address a customer can be given to send ether to. collect takes an amount and sends that much ether to the wallet. doTransfer takes a token address and an amount and calls transfer on it with the wallet as the recipient, which sweeps ERC-20 deposits the same way. Both are restricted to the controller, and changeController lets the controller hand over to a successor.

Neither sweep reverts on failure. Each one checks the boolean result and emits either a success event or a matching failure event, so a token that returns false instead of throwing still leaves a record on chain.

Source Verified

Solidityeh_crack_source_verified
Compiler: v0.4.18

Bytecode Overview

Opcodes992
Unique Opcodes170
Jump Instructions39
Storage Operations18

External Links