Exchange deposit forwarder. Sweeps tokens from user deposit addresses to the exchange hot wallet. One of 4,163 identical deployments.
Key Facts
Description
An exchange deposit forwarding contract deployed by cryptocurrency exchanges for user deposits. When a user deposits tokens, the exchange calls sweep() to forward them to the central wallet. The fallback function automatically sweeps to a default token address.
This is the v1 pattern without pragma or the LOCK identifier. 4,163 identical copies were deployed, making it the second most widely deployed unverified bytecode on early Ethereum.
Functions: transfer(address,uint256), balanceOf(address), sweep(address). The sweep function is owner-restricted and calls token.transfer(owner, token.balanceOf(this)).
Source Verified
Exact runtime bytecode match. solc 0.4.2+commit.af6afb04, optimizer OFF. 4,163 identical siblings.
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
DAO Fork Era
The controversial fork to recover funds from The DAO hack.
Bytecode Overview
Verified Source Available
Source verified through compiler archaeology and exact bytecode matching.
View Verification ProofShow source code (Solidity)
contract Token {
function transfer(address to, uint256 value) returns (bool ok);
function balanceOf(address who) constant returns (uint256 value);
}
contract Forwarder {
address owner;
address defaultSweep;
function Forwarder() {
owner = 0xab8c0420ad39a5727fd43c917679e8822bff1c51;
defaultSweep = 0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009;
}
function() {
sweep(defaultSweep);
}
function sweep(address _token) {
address token = _token;
if (!(msg.sender == owner && Token(token).transfer(owner, Token(token).balanceOf(this)))) throw;
}
}