ETH Price: $1,977.95 (-0.91%)
 

Overview

ETH Balance

0.000000004 ETH

Eth Value

Less Than $0.01 (@ $1,977.95/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep59741202018-07-16 10:03:212787 days ago1531735401IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0050057100
Transfer59740492018-07-16 9:44:342787 days ago1531734274IN
0x61cD1DD2...6d83C8E5f
9.17055 ETH0.000189459
Sweep57876242018-06-14 13:25:412819 days ago1528982741IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0025028550
Transfer57875992018-06-14 13:19:572819 days ago1528982397IN
0x61cD1DD2...6d83C8E5f
3.993721 ETH0.0002736613
Sweep54259612018-04-12 7:13:582883 days ago1523517238IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0025028550
Transfer54259292018-04-12 7:05:362883 days ago1523516736IN
0x61cD1DD2...6d83C8E5f
0.28042353 ETH0.00008424
Sweep54089632018-04-09 11:27:352885 days ago1523273255IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0045051390
Transfer54089122018-04-09 11:16:112885 days ago1523272571IN
0x61cD1DD2...6d83C8E5f
5.05516724 ETH0.000063153
Sweep53153202018-03-24 21:06:532901 days ago1521925613IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0025028550
Transfer53152922018-03-24 20:59:412901 days ago1521925181IN
0x61cD1DD2...6d83C8E5f
1.21660301 ETH0.00008424
Sweep52534632018-03-14 11:08:362911 days ago1521025716IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0025028550
Transfer52534282018-03-14 10:58:222911 days ago1521025102IN
0x61cD1DD2...6d83C8E5f
2.01820226 ETH0.000105255
Sweep52479652018-03-13 12:41:402912 days ago1520944900IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0025028550
Transfer52479362018-03-13 12:35:362912 days ago1520944536IN
0x61cD1DD2...6d83C8E5f
1.44292006 ETH0.000105255
Sweep50087182018-02-01 1:15:302953 days ago1517447730IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0045051390
Transfer50086872018-02-01 1:05:432953 days ago1517447143IN
0x61cD1DD2...6d83C8E5f
0.3922938 ETH0.0004820622.9
Sweep49822602018-01-27 14:08:162957 days ago1517062096IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0045051390
Transfer49822292018-01-27 14:00:122957 days ago1517061612IN
0x61cD1DD2...6d83C8E5f
0.24192699 ETH0.0004210220
Transfer49072672018-01-14 13:30:072970 days ago1515936607IN
0x61cD1DD2...6d83C8E5f
0.03357293 ETH0.0010946552
Sweep49072422018-01-14 13:22:552970 days ago1515936175IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0045051390
Transfer49072022018-01-14 13:14:092970 days ago1515935649IN
0x61cD1DD2...6d83C8E5f
0.05073727 ETH0.0010946552
Transfer49066962018-01-14 11:01:552970 days ago1515927715IN
0x61cD1DD2...6d83C8E5f
0.04868642 ETH0.0010946552
Sweep49040282018-01-13 23:43:462971 days ago1515887026IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0045051390
Transfer49040002018-01-13 23:34:522971 days ago1515886492IN
0x61cD1DD2...6d83C8E5f
0.45620808 ETH0.0019156491
Sweep49011122018-01-13 10:48:372971 days ago1515840517IN
0x61cD1DD2...6d83C8E5f
0 ETH0.0045051390
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer59741202018-07-16 10:03:212787 days ago1531735401
0x61cD1DD2...6d83C8E5f
9.17055 ETH
Transfer57876242018-06-14 13:25:412819 days ago1528982741
0x61cD1DD2...6d83C8E5f
3.993721 ETH
Transfer54259612018-04-12 7:13:582883 days ago1523517238
0x61cD1DD2...6d83C8E5f
0.28042353 ETH
Transfer54089632018-04-09 11:27:352885 days ago1523273255
0x61cD1DD2...6d83C8E5f
5.05516724 ETH
Transfer53153202018-03-24 21:06:532901 days ago1521925613
0x61cD1DD2...6d83C8E5f
1.21660301 ETH
Transfer52534632018-03-14 11:08:362911 days ago1521025716
0x61cD1DD2...6d83C8E5f
2.01820226 ETH
Transfer52479652018-03-13 12:41:402912 days ago1520944900
0x61cD1DD2...6d83C8E5f
1.44292006 ETH
Transfer50087182018-02-01 1:15:302953 days ago1517447730
0x61cD1DD2...6d83C8E5f
0.3922938 ETH
Transfer49822602018-01-27 14:08:162957 days ago1517062096
0x61cD1DD2...6d83C8E5f
0.27549993 ETH
Transfer49072422018-01-14 13:22:552970 days ago1515936175
0x61cD1DD2...6d83C8E5f
0.0994237 ETH
Transfer49040282018-01-13 23:43:462971 days ago1515887026
0x61cD1DD2...6d83C8E5f
0.45620808 ETH
Transfer49011122018-01-13 10:48:372971 days ago1515840517
0x61cD1DD2...6d83C8E5f
0.79064501 ETH
Transfer48664702018-01-07 1:40:282978 days ago1515289228
0x61cD1DD2...6d83C8E5f
2.44707541 ETH
Transfer48649992018-01-06 19:05:002978 days ago1515265500
0x61cD1DD2...6d83C8E5f
0.51889732 ETH
Transfer47801992017-12-23 3:08:492993 days ago1513998529
0x61cD1DD2...6d83C8E5f
2.0348608 ETH
Transfer47632672017-12-20 2:59:392996 days ago1513738779
0x61cD1DD2...6d83C8E5f
0.10334 ETH
Transfer47366952017-12-15 11:39:563000 days ago1513337996  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.