ETH Price: $2,062.38 (-0.54%)

Contract

0xcAEB4e045f355C20fbd27B739141e38176D79308
 

Overview

ETH Balance

0.000000000689347363 ETH

Eth Value

Less Than $0.01 (@ $2,062.38/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep117661612021-01-31 21:09:451884 days ago1612127385IN
0xcAEB4e04...176D79308
0 ETH0.0051569586.4
Sweep117489802021-01-29 5:43:121887 days ago1611898992IN
0xcAEB4e04...176D79308
0 ETH0.0045114375.6
Sweep117489172021-01-29 5:28:261887 days ago1611898106IN
0xcAEB4e04...176D79308
0 ETH0.005012784
Sweep56816922018-05-26 19:36:142865 days ago1527363374IN
0xcAEB4e04...176D79308
0 ETH0.0023336550
Sweep56499272018-05-21 4:27:232871 days ago1526876843IN
0xcAEB4e04...176D79308
0 ETH0.0023304550
Sweep56058042018-05-13 9:40:512879 days ago1526204451IN
0xcAEB4e04...176D79308
0 ETH0.0023304550
Sweep51064512018-02-17 11:42:182964 days ago1518867738IN
0xcAEB4e04...176D79308
0 ETH0.0025028550
Transfer51064092018-02-17 11:31:362964 days ago1518867096IN
0xcAEB4e04...176D79308
0.20000852 ETH0.000021051
Sweep50928352018-02-15 5:15:342966 days ago1518671734IN
0xcAEB4e04...176D79308
0 ETH0.0025028550
Transfer50927832018-02-15 5:02:532966 days ago1518670973IN
0xcAEB4e04...176D79308
1.638489 ETH0.0006315330
Sweep50920572018-02-15 2:09:072966 days ago1518660547IN
0xcAEB4e04...176D79308
0 ETH0.0025028550
Transfer50920052018-02-15 1:57:152966 days ago1518659835IN
0xcAEB4e04...176D79308
0.095 ETH0.0006315330
Sweep50793062018-02-12 22:21:332968 days ago1518474093IN
0xcAEB4e04...176D79308
0 ETH0.0045051390
Transfer50792772018-02-12 22:15:542968 days ago1518473754IN
0xcAEB4e04...176D79308
0.11347445 ETH0.0006315330
Sweep50614862018-02-09 22:39:192971 days ago1518215959IN
0xcAEB4e04...176D79308
0 ETH0.0045051390
Transfer50614582018-02-09 22:31:172971 days ago1518215477IN
0xcAEB4e04...176D79308
0.19240885 ETH0.0006315330
Sweep49790472018-01-27 1:12:562985 days ago1517015576IN
0xcAEB4e04...176D79308
0 ETH0.0045051390
Transfer49790422018-01-27 1:11:472985 days ago1517015507IN
0xcAEB4e04...176D79308
0.726449 ETH0.0004210220
Sweep49790372018-01-27 1:10:442985 days ago1517015444IN
0xcAEB4e04...176D79308
0 ETH0.0044993790
Transfer49790182018-01-27 1:07:192985 days ago1517015239IN
0xcAEB4e04...176D79308
0.8 ETH0.0004210220
Sweep49790042018-01-27 1:04:302985 days ago1517015070IN
0xcAEB4e04...176D79308
0 ETH0.0045051390
Transfer49789702018-01-27 0:56:292985 days ago1517014589IN
0xcAEB4e04...176D79308
0.2 ETH0.0004210220
Transfer46699702017-12-03 19:16:063039 days ago1512328566IN
0xcAEB4e04...176D79308
0.0108894 ETH0.000021051

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer51064512018-02-17 11:42:182964 days ago1518867738
0xcAEB4e04...176D79308
0.20000853 ETH
Transfer50928352018-02-15 5:15:342966 days ago1518671734
0xcAEB4e04...176D79308
1.638489 ETH
Transfer50920572018-02-15 2:09:072966 days ago1518660547
0xcAEB4e04...176D79308
0.095 ETH
Transfer50793062018-02-12 22:21:332968 days ago1518474093
0xcAEB4e04...176D79308
0.11347445 ETH
Transfer50614862018-02-09 22:39:192971 days ago1518215959
0xcAEB4e04...176D79308
0.19240885 ETH
Transfer49790472018-01-27 1:12:562985 days ago1517015576
0xcAEB4e04...176D79308
0.726449 ETH
Transfer49790372018-01-27 1:10:442985 days ago1517015444
0xcAEB4e04...176D79308
0.8 ETH
Transfer49790042018-01-27 1:04:302985 days ago1517015070
0xcAEB4e04...176D79308
0.2108894 ETH
Transfer43481982017-10-08 17:05:543095 days ago1507482354  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd1DD82d1...18D918504
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
UserWallet

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-08-15
*/

pragma solidity ^0.4.10;

// Copyright 2017 Bittrex

contract AbstractSweeper {
    function sweep(address token, uint amount) returns (bool);

    function () { throw; }

    Controller controller;

    function AbstractSweeper(address _controller) {
        controller = Controller(_controller);
    }

    modifier canSweep() {
        if (msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()) throw;
        if (controller.halted()) throw;
        _;
    }
}

contract Token {
    function balanceOf(address a) returns (uint) {
        (a);
        return 0;
    }

    function transfer(address a, uint val) returns (bool) {
        (a);
        (val);
        return false;
    }
}

contract DefaultSweeper is AbstractSweeper {
    function DefaultSweeper(address controller)
             AbstractSweeper(controller) {}

    function sweep(address _token, uint _amount)
    canSweep
    returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if (_token != address(0)) {
            Token token = Token(_token);
            uint amount = _amount;
            if (amount > token.balanceOf(this)) {
                return false;
            }

            success = token.transfer(destination, amount);
        }
        else {
            uint amountInWei = _amount;
            if (amountInWei > this.balance) {
                return false;
            }

            success = destination.send(amountInWei);
        }

        if (success) {
            controller.logSweep(this, destination, _token, _amount);
        }
        return success;
    }
}

contract UserWallet {
    AbstractSweeperList sweeperList;
    function UserWallet(address _sweeperlist) {
        sweeperList = AbstractSweeperList(_sweeperlist);
    }

    function () public payable { }

    function tokenFallback(address _from, uint _value, bytes _data) {
        (_from);
        (_value);
        (_data);
     }

    function sweep(address _token, uint _amount)
    returns (bool) {
        (_amount);
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

contract AbstractSweeperList {
    function sweeperOf(address _token) returns (address);
}

contract Controller is AbstractSweeperList {
    address public owner;
    address public authorizedCaller;

    address public destination;

    bool public halted;

    event LogNewWallet(address receiver);
    event LogSweep(address indexed from, address indexed to, address indexed token, uint amount);
    
    modifier onlyOwner() {
        if (msg.sender != owner) throw; 
        _;
    }

    modifier onlyAuthorizedCaller() {
        if (msg.sender != authorizedCaller) throw; 
        _;
    }

    modifier onlyAdmins() {
        if (msg.sender != authorizedCaller && msg.sender != owner) throw; 
        _;
    }

    function Controller() 
    {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function changeAuthorizedCaller(address _newCaller) onlyOwner {
        authorizedCaller = _newCaller;
    }

    function changeDestination(address _dest) onlyOwner {
        destination = _dest;
    }

    function changeOwner(address _owner) onlyOwner {
        owner = _owner;
    }

    function makeWallet() onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        LogNewWallet(wallet);
    }

    function halt() onlyAdmins {
        halted = true;
    }

    function start() onlyOwner {
        halted = false;
    }

    address public defaultSweeper = address(new DefaultSweeper(this));
    mapping (address => address) sweepers;

    function addSweeper(address _token, address _sweeper) onlyOwner {
        sweepers[_token] = _sweeper;
    }

    function sweeperOf(address _token) returns (address) {
        address sweeper = sweepers[_token];
        if (sweeper == 0) sweeper = defaultSweeper;
        return sweeper;
    }

    function logSweep(address from, address to, address token, uint amount) {
        LogSweep(from, to, token, amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"sweep","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_sweeperlist","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.