ETH Price: $2,720.46 (+0.71%)

Contract

0x9D935e2c11af3c13acD8F2b85DAE83110dc8171F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

Transaction Hash
Method
Block
From
To
Sweep66869032018-11-11 21:31:532287 days ago1541971913IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66868842018-11-11 21:27:242287 days ago1541971644IN
0x9D935e2c...10dc8171F
0.05127838 ETH0.000021051
Sweep66802532018-11-10 19:30:102288 days ago1541878210IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66802342018-11-10 19:24:122288 days ago1541877852IN
0x9D935e2c...10dc8171F
0.05018092 ETH0.000021051
Sweep66737142018-11-09 17:47:402289 days ago1541785660IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66736792018-11-09 17:38:502289 days ago1541785130IN
0x9D935e2c...10dc8171F
0.05284391 ETH0.000021051
Sweep66655272018-11-08 9:35:462290 days ago1541669746IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66655072018-11-08 9:29:412290 days ago1541669381IN
0x9D935e2c...10dc8171F
0.0501388 ETH0.000021051
Sweep66575992018-11-07 2:30:412292 days ago1541557841IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66575812018-11-07 2:24:452292 days ago1541557485IN
0x9D935e2c...10dc8171F
0.05333391 ETH0.000021051
Sweep66490982018-11-05 16:59:292293 days ago1541437169IN
0x9D935e2c...10dc8171F
0 ETH0.0024964550
Transfer66490822018-11-05 16:55:412293 days ago1541436941IN
0x9D935e2c...10dc8171F
0.057009 ETH0.000021051
Sweep66409722018-11-04 8:38:052294 days ago1541320685IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66409542018-11-04 8:33:242294 days ago1541320404IN
0x9D935e2c...10dc8171F
0.05272455 ETH0.000021051
Sweep66332602018-11-03 2:41:592296 days ago1541212919IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66332442018-11-03 2:38:312296 days ago1541212711IN
0x9D935e2c...10dc8171F
0.05115727 ETH0.000021051
Sweep66253902018-11-01 19:29:542297 days ago1541100594IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66253662018-11-01 19:23:502297 days ago1541100230IN
0x9D935e2c...10dc8171F
0.05003829 ETH0.000021051
Sweep66188202018-10-31 17:32:452298 days ago1541007165IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66187912018-10-31 17:27:112298 days ago1541006831IN
0x9D935e2c...10dc8171F
0.05242773 ETH0.000021051
Sweep66114992018-10-30 12:41:152299 days ago1540903275IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66114462018-10-30 12:31:322299 days ago1540902692IN
0x9D935e2c...10dc8171F
0.05126877 ETH0.000021051
Sweep66035642018-10-29 5:37:152301 days ago1540791435IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
Transfer66033952018-10-29 4:53:132301 days ago1540788793IN
0x9D935e2c...10dc8171F
0.06358574 ETH0.000021051
Sweep65939172018-10-27 15:39:162302 days ago1540654756IN
0x9D935e2c...10dc8171F
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
66869032018-11-11 21:31:532287 days ago1541971913
0x9D935e2c...10dc8171F
0.05127838 ETH
66802532018-11-10 19:30:102288 days ago1541878210
0x9D935e2c...10dc8171F
0.05018092 ETH
66737142018-11-09 17:47:402289 days ago1541785660
0x9D935e2c...10dc8171F
0.05284391 ETH
66655272018-11-08 9:35:462290 days ago1541669746
0x9D935e2c...10dc8171F
0.0501388 ETH
66575992018-11-07 2:30:412292 days ago1541557841
0x9D935e2c...10dc8171F
0.05333391 ETH
66490982018-11-05 16:59:292293 days ago1541437169
0x9D935e2c...10dc8171F
0.057009 ETH
66409722018-11-04 8:38:052294 days ago1541320685
0x9D935e2c...10dc8171F
0.05272455 ETH
66332602018-11-03 2:41:592296 days ago1541212919
0x9D935e2c...10dc8171F
0.05115727 ETH
66253902018-11-01 19:29:542297 days ago1541100594
0x9D935e2c...10dc8171F
0.05003829 ETH
66188202018-10-31 17:32:452298 days ago1541007165
0x9D935e2c...10dc8171F
0.05242773 ETH
66114992018-10-30 12:41:152299 days ago1540903275
0x9D935e2c...10dc8171F
0.05126877 ETH
66035642018-10-29 5:37:152301 days ago1540791435
0x9D935e2c...10dc8171F
0.06358574 ETH
65939172018-10-27 15:39:162302 days ago1540654756
0x9D935e2c...10dc8171F
0.06694519 ETH
65847592018-10-26 3:40:132304 days ago1540525213
0x9D935e2c...10dc8171F
0.05506329 ETH
65775882018-10-24 23:38:212305 days ago1540424301
0x9D935e2c...10dc8171F
0.0506477 ETH
65703892018-10-23 19:30:102306 days ago1540323010
0x9D935e2c...10dc8171F
0.05172775 ETH
65632402018-10-22 15:31:542307 days ago1540222314
0x9D935e2c...10dc8171F
0.0506788 ETH
65565882018-10-21 13:28:322308 days ago1540128512
0x9D935e2c...10dc8171F
0.05088265 ETH
65480172018-10-20 3:41:392310 days ago1540006899
0x9D935e2c...10dc8171F
0.05023353 ETH
65417032018-10-19 2:56:482311 days ago1539917808
0x9D935e2c...10dc8171F
0.05041339 ETH
65344372018-10-17 22:23:092312 days ago1539814989
0x9D935e2c...10dc8171F
0.0512742 ETH
65261222018-10-16 13:54:362313 days ago1539698076
0x9D935e2c...10dc8171F
0.05000705 ETH
65176652018-10-15 4:36:252315 days ago1539578185
0x9D935e2c...10dc8171F
0.05056793 ETH
65099642018-10-13 22:33:412316 days ago1539470021
0x9D935e2c...10dc8171F
0.05000184 ETH
65016702018-10-12 14:24:002317 days ago1539354240
0x9D935e2c...10dc8171F
0.05018122 ETH
View All Internal Transactions
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.