ETH Price: $2,311.49 (-6.54%)

Contract

0x29C6CCb5dA48991DEE386b95E796820ab74c2211
 

Overview

ETH Balance

0.000000009110270944 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep64469032018-10-03 17:25:332338 days ago1538587533IN
0x29C6CCb5...ab74c2211
0 ETH0.0025028550
Transfer64468752018-10-03 17:19:182338 days ago1538587158IN
0x29C6CCb5...ab74c2211
0.30018319 ETH0.000063153
Sweep64008142018-09-26 4:01:412346 days ago1537934501IN
0x29C6CCb5...ab74c2211
0 ETH0.0025028550
Transfer64007862018-09-26 3:54:462346 days ago1537934086IN
0x29C6CCb5...ab74c2211
0.30037186 ETH0.000063153
Sweep63531902018-09-18 7:37:392353 days ago1537256259IN
0x29C6CCb5...ab74c2211
0 ETH0.0025028550
Transfer63531552018-09-18 7:30:202353 days ago1537255820IN
0x29C6CCb5...ab74c2211
0.30019958 ETH0.000063153
Sweep63002232018-09-09 13:13:572362 days ago1536498837IN
0x29C6CCb5...ab74c2211
0 ETH0.0025028550
Transfer63002032018-09-09 13:09:342362 days ago1536498574IN
0x29C6CCb5...ab74c2211
0.30051421 ETH0.000063153
Sweep62485972018-08-31 20:46:452371 days ago1535748405IN
0x29C6CCb5...ab74c2211
0 ETH0.0025028550
Transfer62485742018-08-31 20:41:392371 days ago1535748099IN
0x29C6CCb5...ab74c2211
0.20334168 ETH0.00008424
Sweep62116102018-08-25 15:08:322377 days ago1535209712IN
0x29C6CCb5...ab74c2211
0 ETH0.0025028550
Transfer62115842018-08-25 15:00:402377 days ago1535209240IN
0x29C6CCb5...ab74c2211
0.20012268 ETH0.000021051
Sweep61774902018-08-19 20:33:242383 days ago1534710804IN
0x29C6CCb5...ab74c2211
0 ETH0.0050057100
Transfer61774742018-08-19 20:29:142383 days ago1534710554IN
0x29C6CCb5...ab74c2211
0.20068386 ETH0.000021051
Sweep61398812018-08-13 12:04:442389 days ago1534161884IN
0x29C6CCb5...ab74c2211
0 ETH0.0050057100
Transfer61398482018-08-13 11:55:412389 days ago1534161341IN
0x29C6CCb5...ab74c2211
0.20048122 ETH0.000021051
Sweep60977112018-08-06 8:48:222396 days ago1533545302IN
0x29C6CCb5...ab74c2211
0 ETH0.0050057100
Transfer60976882018-08-06 8:41:412396 days ago1533544901IN
0x29C6CCb5...ab74c2211
0.20006523 ETH0.000021051
Sweep60242912018-07-24 23:24:012409 days ago1532474641IN
0x29C6CCb5...ab74c2211
0 ETH0.0050057100
Transfer60242472018-07-24 23:14:472409 days ago1532474087IN
0x29C6CCb5...ab74c2211
0.20007816 ETH0.000021051
Sweep59663032018-07-15 2:50:482419 days ago1531623048IN
0x29C6CCb5...ab74c2211
0 ETH0.0050057100
Transfer59662782018-07-15 2:45:452419 days ago1531622745IN
0x29C6CCb5...ab74c2211
0.20012093 ETH0.000021051
Sweep59331702018-07-09 12:40:332424 days ago1531140033IN
0x29C6CCb5...ab74c2211
0 ETH0.0050057100
Transfer59331442018-07-09 12:34:152424 days ago1531139655IN
0x29C6CCb5...ab74c2211
0.20028536 ETH0.000021051
Sweep58896632018-07-02 1:23:382432 days ago1530494618IN
0x29C6CCb5...ab74c2211
0 ETH0.003604172
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
64469032018-10-03 17:25:332338 days ago1538587533
0x29C6CCb5...ab74c2211
0.3001832 ETH
64008142018-09-26 4:01:412346 days ago1537934501
0x29C6CCb5...ab74c2211
0.30037186 ETH
63531902018-09-18 7:37:392353 days ago1537256259
0x29C6CCb5...ab74c2211
0.30019958 ETH
63002232018-09-09 13:13:572362 days ago1536498837
0x29C6CCb5...ab74c2211
0.30051422 ETH
62485972018-08-31 20:46:452371 days ago1535748405
0x29C6CCb5...ab74c2211
0.20334168 ETH
62116102018-08-25 15:08:322377 days ago1535209712
0x29C6CCb5...ab74c2211
0.20012269 ETH
61774902018-08-19 20:33:242383 days ago1534710804
0x29C6CCb5...ab74c2211
0.20068386 ETH
61398812018-08-13 12:04:442389 days ago1534161884
0x29C6CCb5...ab74c2211
0.20048123 ETH
60977112018-08-06 8:48:222396 days ago1533545302
0x29C6CCb5...ab74c2211
0.20006524 ETH
60242912018-07-24 23:24:012409 days ago1532474641
0x29C6CCb5...ab74c2211
0.20007816 ETH
59663032018-07-15 2:50:482419 days ago1531623048
0x29C6CCb5...ab74c2211
0.20012093 ETH
59331702018-07-09 12:40:332424 days ago1531140033
0x29C6CCb5...ab74c2211
0.20028536 ETH
58896632018-07-02 1:23:382432 days ago1530494618
0x29C6CCb5...ab74c2211
0.20039779 ETH
58571112018-06-26 11:03:492437 days ago1530011029
0x29C6CCb5...ab74c2211
0.20017822 ETH
58261122018-06-21 3:02:582443 days ago1529550178
0x29C6CCb5...ab74c2211
0.20012127 ETH
57934872018-06-15 13:43:202448 days ago1529070200
0x29C6CCb5...ab74c2211
0.20013319 ETH
57608332018-06-09 20:26:152454 days ago1528575975
0x29C6CCb5...ab74c2211
0.20002706 ETH
57241132018-06-03 8:06:032460 days ago1528013163
0x29C6CCb5...ab74c2211
0.2000057 ETH
56083702018-05-13 20:24:462481 days ago1526243086
0x29C6CCb5...ab74c2211
0.20006119 ETH
55221282018-04-28 19:14:352496 days ago1524942875
0x29C6CCb5...ab74c2211
0.20018718 ETH
50689702018-02-11 4:26:162573 days ago1518323176
0x29C6CCb5...ab74c2211
0.20010391 ETH
47464202017-12-17 3:53:342629 days ago1513482814
0x29C6CCb5...ab74c2211
1.2200572 ETH
46737312017-12-04 10:38:372641 days ago1512383917  Contract Creation0 ETH
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.