ETH Price: $3,340.98 (-1.27%)
Gas: 13 Gwei

Contract

0xaD8b67bBaC5cE5d717A098ee0cc5215cFF2216fa
 

Overview

ETH Balance

0.000000001419134019 ETH

Eth Value

Less Than $0.01 (@ $3,340.98/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep48717592018-01-08 0:32:432395 days ago1515371563IN
0xaD8b67bB...cFF2216fa
0 ETH0.0027781655.5
Transfer48717262018-01-08 0:22:512395 days ago1515370971IN
0xaD8b67bB...cFF2216fa
1.08945792 ETH0.0004420721
Sweep47942532017-12-25 11:36:102408 days ago1514201770IN
0xaD8b67bB...cFF2216fa
0 ETH0.002552951
Transfer47942202017-12-25 11:27:522408 days ago1514201272IN
0xaD8b67bB...cFF2216fa
0.18969772 ETH0.000021051
Sweep47541512017-12-18 11:37:362415 days ago1513597056IN
0xaD8b67bB...cFF2216fa
0 ETH0.002552951
Transfer47541022017-12-18 11:25:432415 days ago1513596343IN
0xaD8b67bB...cFF2216fa
0.17167299 ETH0.000021051
Sweep47137622017-12-11 11:21:242422 days ago1512991284IN
0xaD8b67bB...cFF2216fa
0 ETH0.0035039970
Transfer47137142017-12-11 11:08:512422 days ago1512990531IN
0xaD8b67bB...cFF2216fa
0.26215963 ETH0.000021051
Sweep46673242017-12-03 8:53:562431 days ago1512291236IN
0xaD8b67bB...cFF2216fa
0 ETH0.0010011420
Transfer46672992017-12-03 8:49:502431 days ago1512290990IN
0xaD8b67bB...cFF2216fa
0.37689218 ETH0.000021051
Sweep45701742017-11-17 14:32:062446 days ago1510929126IN
0xaD8b67bB...cFF2216fa
0 ETH0.0010011420
Transfer45701672017-11-17 14:29:292446 days ago1510928969IN
0xaD8b67bB...cFF2216fa
0.50005252 ETH0.000021051
Sweep44646552017-10-31 15:05:382463 days ago1509462338IN
0xaD8b67bB...cFF2216fa
0 ETH0.0010011420
Transfer44646462017-10-31 15:03:042463 days ago1509462184IN
0xaD8b67bB...cFF2216fa
0.49923244 ETH0.0002778713.2
Sweep43661362017-10-14 21:38:472480 days ago1508017127IN
0xaD8b67bB...cFF2216fa
0 ETH0.0015517631
Transfer43661332017-10-14 21:37:492480 days ago1508017069IN
0xaD8b67bB...cFF2216fa
0.49904618 ETH0.0004420721
Sweep43123572017-09-26 4:56:522499 days ago1506401812IN
0xaD8b67bB...cFF2216fa
0 ETH0.002552951
Transfer43123472017-09-26 4:53:002499 days ago1506401580IN
0xaD8b67bB...cFF2216fa
0.4991788 ETH0.000486723.12044915
Sweep42590652017-09-10 14:38:112514 days ago1505054291IN
0xaD8b67bB...cFF2216fa
0 ETH0.002552951
Transfer42590602017-09-10 14:36:432514 days ago1505054203IN
0xaD8b67bB...cFF2216fa
0.09932897 ETH0.0004631222.00000133
Sweep42483902017-09-07 14:48:502517 days ago1504795730IN
0xaD8b67bB...cFF2216fa
0 ETH0.002822156.3778237
Transfer42483732017-09-07 14:40:592517 days ago1504795259IN
0xaD8b67bB...cFF2216fa
0.09905409 ETH0.000791237.5852158
Sweep42385982017-09-04 20:08:102520 days ago1504555690IN
0xaD8b67bB...cFF2216fa
0 ETH0.002552951
Transfer42385882017-09-04 20:02:302520 days ago1504555350IN
0xaD8b67bB...cFF2216fa
0.09909115 ETH0.0005730327.22106332
Sweep42290862017-09-02 3:23:312523 days ago1504322611IN
0xaD8b67bB...cFF2216fa
0 ETH0.0021765243.48094758
View all transactions

Latest 15 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
48717592018-01-08 0:32:432395 days ago1515371563
0xaD8b67bB...cFF2216fa
1.08945793 ETH
47942532017-12-25 11:36:102408 days ago1514201770
0xaD8b67bB...cFF2216fa
0.18969773 ETH
47541512017-12-18 11:37:362415 days ago1513597056
0xaD8b67bB...cFF2216fa
0.171673 ETH
47137622017-12-11 11:21:242422 days ago1512991284
0xaD8b67bB...cFF2216fa
0.26215963 ETH
46673242017-12-03 8:53:562431 days ago1512291236
0xaD8b67bB...cFF2216fa
0.37689218 ETH
45701742017-11-17 14:32:062446 days ago1510929126
0xaD8b67bB...cFF2216fa
0.50005253 ETH
44646552017-10-31 15:05:382463 days ago1509462338
0xaD8b67bB...cFF2216fa
0.49923245 ETH
43661362017-10-14 21:38:472480 days ago1508017127
0xaD8b67bB...cFF2216fa
0.49904618 ETH
43123572017-09-26 4:56:522499 days ago1506401812
0xaD8b67bB...cFF2216fa
0.49917881 ETH
42590652017-09-10 14:38:112514 days ago1505054291
0xaD8b67bB...cFF2216fa
0.09932898 ETH
42483902017-09-07 14:48:502517 days ago1504795730
0xaD8b67bB...cFF2216fa
0.0990541 ETH
42385982017-09-04 20:08:102520 days ago1504555690
0xaD8b67bB...cFF2216fa
0.09909115 ETH
42290862017-09-02 3:23:312523 days ago1504322611
0xaD8b67bB...cFF2216fa
0.09906141 ETH
42195752017-08-30 10:46:122526 days ago1504089972
0xaD8b67bB...cFF2216fa
0.10817758 ETH
41928542017-08-23 4:25:292533 days ago1503462329  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.