Back to Home

Wallet

other
0x5aa66081b8ff...4a680635fd43
Spurious DragonContract #114KSource VerifiedEdit this contract
Deployed September 13, 2017 (8 years ago)Block 4,269,936

Forwarding wallet contract (Sep 2017). 13,600 identical siblings. Owner can collect ETH, sweep ERC20 tokens, or destroy. Near-exact source match.

Key Facts

Deployment Block
4,269,936
Deployment Date
Sep 13, 2017, 03:27 PM
Code Size
670.0 B
Gas at Deploy
253,854
Transactions by Year
20178
20181

Description

A simple forwarding wallet contract deployed en masse (13,600+ identical siblings) starting September 2017. The contract stores an owner address and provides functions to collect ETH, sweep ERC20 token balances to the owner, and selfdestruct. All mutating functions are owner-only via a modifier pattern. The contract accepts ETH via a payable fallback function.

Functions: collectToken(address) sweeps a token's full balance to owner, collect() sends all ETH to owner, destroy() selfdestructs to owner, owner() returns the owner address.

Near-exact source reconstruction: the compiled bytecode from soljson v0.4.12 with optimizer ON matches 669 of 670 runtime bytes. The 1-byte difference is in the code section, likely from a minor source detail (variable naming or whitespace) that affects the Solidity metadata hash.

Source Verified

SolidityNear-exact bytecode match
Compiler: v0.4.12

Near-exact match: 669/670 runtime bytes identical. Compiler: soljson v0.4.12+commit.194ff033 optimizer ON. Source reconstructed from bytecode: 4 functions (collectToken, destroy, owner, collect) + payable fallback. All 61 v0.4.11-v0.4.12 nightlies tested. 1-byte gap from unknown source detail.

Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: other
Contains SELFDESTRUCT opcode
Has ERC-20-like patterns

Spurious Dragon Era

Continued DoS protection. State trie clearing.

Block span: 2,675,0004,369,999
November 22, 2016October 16, 2017

Bytecode Overview

Opcodes670
Unique Opcodes114
Jump Instructions37
Storage Operations9

Verified Source Available

Source verified through compiler archaeology (near-exact bytecode match).

View Verification Proof
Show source code (Solidity)
pragma solidity ^0.4.11;

contract ERC20 {
    function balanceOf(address _owner) constant returns (uint256);
    function transfer(address _to, uint256 _value) returns (bool);
}

contract Wallet {
    address public owner;

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    
    function Wallet() {
        owner = msg.sender;
    }
    
    function() payable {}
    
    function collectToken(address _token) onlyOwner {
        uint256 bal = ERC20(_token).balanceOf(this);
        ERC20(_token).transfer(owner, bal);
    }
    
    function destroy() onlyOwner {
        selfdestruct(owner);
    }
    
    function collect() onlyOwner {
        owner.transfer(this.balance);
    }
}

External Links