ETH Price: $2,071.92 (+4.05%)
Gas: 0.19 Gwei

Contract

0xDDB2E7FF891dC4e6b1b3fcAa44b4834B14537256
 

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
Sweep52702812018-03-17 8:03:552935 days ago1521273835IN
0xDDB2E7FF...B14537256
0 ETH0.0024996550
Transfer52702312018-03-17 7:54:312935 days ago1521273271IN
0xDDB2E7FF...B14537256
3.99 ETH0.0010525550
Sweep47778932017-12-22 17:33:363019 days ago1513964016IN
0xDDB2E7FF...B14537256
0 ETH0.0030034260
Transfer47771102017-12-22 14:06:113020 days ago1513951571IN
0xDDB2E7FF...B14537256
5.217 ETH0.0009264544.01
Sweep47610592017-12-19 17:16:163022 days ago1513703776IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47610042017-12-19 17:00:493022 days ago1513702849IN
0xDDB2E7FF...B14537256
4.997 ETH0.0009264544.01
Sweep47604532017-12-19 14:38:383023 days ago1513694318IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47603962017-12-19 14:24:253023 days ago1513693465IN
0xDDB2E7FF...B14537256
4.997 ETH0.0009264544.01
Sweep47589802017-12-19 8:25:233023 days ago1513671923IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47589442017-12-19 8:18:493023 days ago1513671529IN
0xDDB2E7FF...B14537256
4.997 ETH0.0009264544.01
Sweep47584932017-12-19 6:27:553023 days ago1513664875IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47584552017-12-19 6:15:513023 days ago1513664151IN
0xDDB2E7FF...B14537256
3.997 ETH0.0009264544.01
Sweep47414502017-12-16 7:36:483026 days ago1513409808IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47414022017-12-16 7:24:453026 days ago1513409085IN
0xDDB2E7FF...B14537256
4.007 ETH0.0009264544.01
Sweep47407002017-12-16 4:23:583026 days ago1513398238IN
0xDDB2E7FF...B14537256
0 ETH0.0040646281.2
Transfer47406362017-12-16 4:09:473026 days ago1513397387IN
0xDDB2E7FF...B14537256
3.997 ETH0.0012209558
Sweep47292962017-12-14 4:42:353028 days ago1513226555IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47292132017-12-14 4:23:013028 days ago1513225381IN
0xDDB2E7FF...B14537256
2.483 ETH0.0006738432.01
Sweep47290742017-12-14 3:48:333028 days ago1513223313IN
0xDDB2E7FF...B14537256
0 ETH0.0025496451
Transfer47290692017-12-14 3:47:043028 days ago1513223224IN
0xDDB2E7FF...B14537256
1.452 ETH0.0006738432.01
Sweep47290442017-12-14 3:39:263028 days ago1513222766IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47289962017-12-14 3:27:213028 days ago1513222041IN
0xDDB2E7FF...B14537256
2.525 ETH0.0006738432.01
Sweep47270142017-12-13 18:57:113028 days ago1513191431IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
Transfer47269342017-12-13 18:33:283028 days ago1513190008IN
0xDDB2E7FF...B14537256
3.999 ETH0.3665635817,413.12
Sweep47245342017-12-13 8:26:073029 days ago1513153567IN
0xDDB2E7FF...B14537256
0 ETH0.002552951
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer52702812018-03-17 8:03:552935 days ago1521273835
0xDDB2E7FF...B14537256
3.99 ETH
Transfer47778932017-12-22 17:33:363019 days ago1513964016
0xDDB2E7FF...B14537256
5.217 ETH
Transfer47610592017-12-19 17:16:163022 days ago1513703776
0xDDB2E7FF...B14537256
4.997 ETH
Transfer47604532017-12-19 14:38:383023 days ago1513694318
0xDDB2E7FF...B14537256
4.997 ETH
Transfer47589802017-12-19 8:25:233023 days ago1513671923
0xDDB2E7FF...B14537256
4.997 ETH
Transfer47584932017-12-19 6:27:553023 days ago1513664875
0xDDB2E7FF...B14537256
3.997 ETH
Transfer47414502017-12-16 7:36:483026 days ago1513409808
0xDDB2E7FF...B14537256
4.007 ETH
Transfer47407002017-12-16 4:23:583026 days ago1513398238
0xDDB2E7FF...B14537256
3.997 ETH
Transfer47292962017-12-14 4:42:353028 days ago1513226555
0xDDB2E7FF...B14537256
2.483 ETH
Transfer47290742017-12-14 3:48:333028 days ago1513223313
0xDDB2E7FF...B14537256
1.452 ETH
Transfer47290442017-12-14 3:39:263028 days ago1513222766
0xDDB2E7FF...B14537256
2.525 ETH
Transfer47270142017-12-13 18:57:113028 days ago1513191431
0xDDB2E7FF...B14537256
3.999 ETH
Transfer47245342017-12-13 8:26:073029 days ago1513153567
0xDDB2E7FF...B14537256
3.939 ETH
Transfer47208682017-12-12 16:57:433029 days ago1513097863
0xDDB2E7FF...B14537256
3.909 ETH
Transfer47032652017-12-09 15:45:563032 days ago1512834356
0xDDB2E7FF...B14537256
3.979 ETH
Transfer47007152017-12-09 5:19:053033 days ago1512796745
0xDDB2E7FF...B14537256
3.999 ETH
Transfer46331712017-11-27 18:32:043044 days ago1511807524
0xDDB2E7FF...B14537256
1.999 ETH
Transfer45270842017-11-10 16:19:463061 days ago1510330786
0xDDB2E7FF...B14537256
0.199 ETH
Transfer44623322017-10-31 6:04:563072 days ago1509429896  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.