ETH Price: $2,151.95 (-2.32%)

Contract

0x908a80Db3BbfcF9f9e4507a5A2b8247BdD57c5BC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep42988682017-09-21 16:12:123101 days ago1506010332IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42988512017-09-21 16:06:083101 days ago1506009968IN
0x908a80Db...BdD57c5BC
6.995 ETH0.0008841442
Sweep42951712017-09-20 15:32:303102 days ago1505921550IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42951592017-09-20 15:28:443102 days ago1505921324IN
0x908a80Db...BdD57c5BC
6.795 ETH0.0008841442
Sweep42914552017-09-19 14:58:043103 days ago1505833084IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42914442017-09-19 14:53:183103 days ago1505832798IN
0x908a80Db...BdD57c5BC
4.995 ETH0.0008841442
Sweep42862162017-09-18 4:02:263104 days ago1505707346IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42862012017-09-18 3:59:073104 days ago1505707147IN
0x908a80Db...BdD57c5BC
6.995 ETH0.0008841442
Sweep42825202017-09-17 3:11:143105 days ago1505617874IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42825102017-09-17 3:08:523105 days ago1505617732IN
0x908a80Db...BdD57c5BC
6.995 ETH0.0008841442
Sweep42788722017-09-16 3:03:273106 days ago1505531007IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42788552017-09-16 2:57:133106 days ago1505530633IN
0x908a80Db...BdD57c5BC
6.995 ETH0.0008841442
Sweep42659932017-09-12 12:51:503110 days ago1505220710IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42659182017-09-12 12:24:113110 days ago1505219051IN
0x908a80Db...BdD57c5BC
2.495 ETH0.0006315330
Sweep42628262017-09-11 15:42:413111 days ago1505144561IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42628222017-09-11 15:41:333111 days ago1505144493IN
0x908a80Db...BdD57c5BC
3.495 ETH0.0006315330
Sweep42557212017-09-09 15:55:523113 days ago1504972552IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42557112017-09-09 15:51:333113 days ago1504972293IN
0x908a80Db...BdD57c5BC
2.995 ETH0.0006315330
Sweep42543242017-09-09 6:29:293113 days ago1504938569IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42543152017-09-09 6:26:373113 days ago1504938397IN
0x908a80Db...BdD57c5BC
2.995 ETH0.000925243.95086936
Sweep42509502017-09-08 7:41:263114 days ago1504856486IN
0x908a80Db...BdD57c5BC
0 ETH0.0026279952.5
Transfer42509412017-09-08 7:38:483114 days ago1504856328IN
0x908a80Db...BdD57c5BC
2.495 ETH0.0009777746.44768062
Sweep42399542017-09-05 5:16:343117 days ago1504588594IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
Transfer42399482017-09-05 5:13:223117 days ago1504588402IN
0x908a80Db...BdD57c5BC
4.195 ETH0.0006315330
Sweep42343132017-09-03 15:09:183119 days ago1504451358IN
0x908a80Db...BdD57c5BC
0 ETH0.002552951
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer42988682017-09-21 16:12:123101 days ago1506010332
0x908a80Db...BdD57c5BC
6.995 ETH
Transfer42951712017-09-20 15:32:303102 days ago1505921550
0x908a80Db...BdD57c5BC
6.795 ETH
Transfer42914552017-09-19 14:58:043103 days ago1505833084
0x908a80Db...BdD57c5BC
4.995 ETH
Transfer42862162017-09-18 4:02:263104 days ago1505707346
0x908a80Db...BdD57c5BC
6.995 ETH
Transfer42825202017-09-17 3:11:143105 days ago1505617874
0x908a80Db...BdD57c5BC
6.995 ETH
Transfer42788722017-09-16 3:03:273106 days ago1505531007
0x908a80Db...BdD57c5BC
6.995 ETH
Transfer42659932017-09-12 12:51:503110 days ago1505220710
0x908a80Db...BdD57c5BC
2.495 ETH
Transfer42628262017-09-11 15:42:413111 days ago1505144561
0x908a80Db...BdD57c5BC
3.495 ETH
Transfer42557212017-09-09 15:55:523113 days ago1504972552
0x908a80Db...BdD57c5BC
2.995 ETH
Transfer42543242017-09-09 6:29:293113 days ago1504938569
0x908a80Db...BdD57c5BC
2.995 ETH
Transfer42509502017-09-08 7:41:263114 days ago1504856486
0x908a80Db...BdD57c5BC
2.495 ETH
Transfer42399542017-09-05 5:16:343117 days ago1504588594
0x908a80Db...BdD57c5BC
4.195 ETH
Transfer42343132017-09-03 15:09:183119 days ago1504451358
0x908a80Db...BdD57c5BC
4.995 ETH
Transfer42259982017-09-01 6:22:403121 days ago1504246960
0x908a80Db...BdD57c5BC
0.795 ETH
Transfer42198482017-08-30 12:27:473123 days ago1504096067
0x908a80Db...BdD57c5BC
4.195 ETH
Transfer42193102017-08-30 8:47:113123 days ago1504082831
0x908a80Db...BdD57c5BC
0.795 ETH
Transfer42043652017-08-26 2:23:013127 days ago1503714181
0x908a80Db...BdD57c5BC
3.195 ETH
Transfer41544912017-08-13 23:26:143139 days ago1502666774
0x908a80Db...BdD57c5BC
3.695 ETH
Transfer41539892017-08-13 20:38:463140 days ago1502656726  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.