ETH Price: $2,724.75 (+1.72%)

Contract

0x428E32033FEdAf7Cb1880d6d8EF616F6b4DF9ae3
 

Overview

ETH Balance

0.000000009893956771 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep52195562018-03-08 16:48:302539 days ago1520527710IN
0x428E3203...6b4DF9ae3
0 ETH0.0024964550
Transfer52195312018-03-08 16:42:242539 days ago1520527344IN
0x428E3203...6b4DF9ae3
0.05003219 ETH0.000021051
Sweep52064042018-03-06 11:24:592542 days ago1520335499IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer52063782018-03-06 11:18:102542 days ago1520335090IN
0x428E3203...6b4DF9ae3
0.05001853 ETH0.000021051
Sweep51935262018-03-04 6:51:062544 days ago1520146266IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51934922018-03-04 6:40:402544 days ago1520145640IN
0x428E3203...6b4DF9ae3
0.05000063 ETH0.000021051
Sweep51773782018-03-01 13:15:382546 days ago1519910138IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51773182018-03-01 13:04:332546 days ago1519909473IN
0x428E3203...6b4DF9ae3
0.05002028 ETH0.000021051
Sweep51639412018-02-27 6:41:182549 days ago1519713678IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51638972018-02-27 6:31:522549 days ago1519713112IN
0x428E3203...6b4DF9ae3
0.05003319 ETH0.000021051
Sweep51500642018-02-24 21:32:352551 days ago1519507955IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51500232018-02-24 21:23:372551 days ago1519507417IN
0x428E3203...6b4DF9ae3
0.0500127 ETH0.000021051
Sweep51373012018-02-22 17:15:562553 days ago1519319756IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51372702018-02-22 17:07:192553 days ago1519319239IN
0x428E3203...6b4DF9ae3
0.05006997 ETH0.000021051
Sweep51247392018-02-20 13:47:142555 days ago1519134434IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51246822018-02-20 13:32:072555 days ago1519133527IN
0x428E3203...6b4DF9ae3
0.05004063 ETH0.000021051
Sweep51106822018-02-18 4:41:302558 days ago1518928890IN
0x428E3203...6b4DF9ae3
0 ETH0.0024996550
Transfer51106342018-02-18 4:30:532558 days ago1518928253IN
0x428E3203...6b4DF9ae3
0.05007087 ETH0.000021051
Sweep50896672018-02-14 16:19:012561 days ago1518625141IN
0x428E3203...6b4DF9ae3
0 ETH0.0044993790
Transfer50896302018-02-14 16:09:212561 days ago1518624561IN
0x428E3203...6b4DF9ae3
0.05000516 ETH0.000021051
Sweep50761202018-02-12 9:22:542564 days ago1518427374IN
0x428E3203...6b4DF9ae3
0 ETH0.0044993790
Transfer50760912018-02-12 9:17:082564 days ago1518427028IN
0x428E3203...6b4DF9ae3
0.05000611 ETH0.000021051
Sweep50594222018-02-09 14:14:122566 days ago1518185652IN
0x428E3203...6b4DF9ae3
0 ETH0.0044993790
Transfer50593892018-02-09 14:05:592566 days ago1518185159IN
0x428E3203...6b4DF9ae3
0.05006691 ETH0.000021051
Sweep50443112018-02-07 1:24:512569 days ago1517966691IN
0x428E3203...6b4DF9ae3
0 ETH0.0044993790
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
52195562018-03-08 16:48:302539 days ago1520527710
0x428E3203...6b4DF9ae3
0.05003219 ETH
52064042018-03-06 11:24:592542 days ago1520335499
0x428E3203...6b4DF9ae3
0.05001854 ETH
51935262018-03-04 6:51:062544 days ago1520146266
0x428E3203...6b4DF9ae3
0.05000063 ETH
51773782018-03-01 13:15:382546 days ago1519910138
0x428E3203...6b4DF9ae3
0.05002028 ETH
51639412018-02-27 6:41:182549 days ago1519713678
0x428E3203...6b4DF9ae3
0.05003319 ETH
51500642018-02-24 21:32:352551 days ago1519507955
0x428E3203...6b4DF9ae3
0.05001271 ETH
51373012018-02-22 17:15:562553 days ago1519319756
0x428E3203...6b4DF9ae3
0.05006997 ETH
51247392018-02-20 13:47:142555 days ago1519134434
0x428E3203...6b4DF9ae3
0.05004064 ETH
51106822018-02-18 4:41:302558 days ago1518928890
0x428E3203...6b4DF9ae3
0.05007087 ETH
50896672018-02-14 16:19:012561 days ago1518625141
0x428E3203...6b4DF9ae3
0.05000517 ETH
50761202018-02-12 9:22:542564 days ago1518427374
0x428E3203...6b4DF9ae3
0.05000611 ETH
50594222018-02-09 14:14:122566 days ago1518185652
0x428E3203...6b4DF9ae3
0.05006692 ETH
50443112018-02-07 1:24:512569 days ago1517966691
0x428E3203...6b4DF9ae3
0.05004448 ETH
50287022018-02-04 10:31:572572 days ago1517740317
0x428E3203...6b4DF9ae3
0.05007654 ETH
50129832018-02-01 18:50:272574 days ago1517511027
0x428E3203...6b4DF9ae3
0.05009795 ETH
49981292018-01-30 5:53:372577 days ago1517291617
0x428E3203...6b4DF9ae3
0.0500119 ETH
49839732018-01-27 20:50:192579 days ago1517086219
0x428E3203...6b4DF9ae3
0.05010549 ETH
49638602018-01-24 11:40:062583 days ago1516794006
0x428E3203...6b4DF9ae3
0.0500664 ETH
49468592018-01-21 14:23:422585 days ago1516544622
0x428E3203...6b4DF9ae3
0.05008623 ETH
47323792017-12-14 17:40:352623 days ago1513273235
0x428E3203...6b4DF9ae3
0.12906597 ETH
47286122017-12-14 1:54:002624 days ago1513216440  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.