ETH Price: $2,024.34 (-1.48%)
 

Overview

ETH Balance

0.000000005259082296 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep82903192019-08-05 11:13:512397 days ago1565003631IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer82903022019-08-05 11:10:592397 days ago1565003459IN
0xDDD44287...eB8a31BA2
0.05014851 ETH0.0002105110
Sweep82720062019-08-02 15:16:202400 days ago1564758980IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer82719922019-08-02 15:13:502400 days ago1564758830IN
0xDDD44287...eB8a31BA2
0.05012356 ETH0.0002105110
Sweep82529422019-07-30 16:11:462403 days ago1564503106IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer82529212019-07-30 16:06:292403 days ago1564502789IN
0xDDD44287...eB8a31BA2
0.05013135 ETH0.0002105110
Sweep82360752019-07-28 1:09:262406 days ago1564276166IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer82360522019-07-28 1:03:372406 days ago1564275817IN
0xDDD44287...eB8a31BA2
0.05019446 ETH0.0002105110
Sweep82163872019-07-24 23:41:402409 days ago1564011700IN
0xDDD44287...eB8a31BA2
0 ETH0.0010984322
Transfer82163642019-07-24 23:35:312409 days ago1564011331IN
0xDDD44287...eB8a31BA2
0.05004942 ETH0.0002105110
Sweep81885372019-07-20 16:00:012413 days ago1563638401IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer81885162019-07-20 15:55:532413 days ago1563638153IN
0xDDD44287...eB8a31BA2
0.05020974 ETH0.0002105110
Sweep81676622019-07-17 10:13:352416 days ago1563358415IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer81676442019-07-17 10:11:142416 days ago1563358274IN
0xDDD44287...eB8a31BA2
0.05030958 ETH0.0002105110
Sweep81436782019-07-13 16:09:432420 days ago1563034183IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer81436572019-07-13 16:04:332420 days ago1563033873IN
0xDDD44287...eB8a31BA2
0.0501249 ETH0.0002105110
Sweep81251182019-07-10 18:37:002423 days ago1562783820IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer81250962019-07-10 18:32:352423 days ago1562783555IN
0xDDD44287...eB8a31BA2
0.05001403 ETH0.0002105110
Sweep81025362019-07-07 6:28:332426 days ago1562480913IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer81025232019-07-07 6:25:002426 days ago1562480700IN
0xDDD44287...eB8a31BA2
0.050104 ETH0.0002105110
Sweep80762842019-07-03 4:22:092430 days ago1562127729IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
Transfer80762642019-07-03 4:17:022430 days ago1562127422IN
0xDDD44287...eB8a31BA2
0.05002085 ETH0.0002105110
Sweep80557892019-06-29 23:41:212434 days ago1561851681IN
0xDDD44287...eB8a31BA2
0 ETH0.0014997930
Transfer80557742019-06-29 23:36:052434 days ago1561851365IN
0xDDD44287...eB8a31BA2
0.05014973 ETH0.0002105110
Sweep80298982019-06-25 22:46:432438 days ago1561502803IN
0xDDD44287...eB8a31BA2
0 ETH0.0010998422
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-82903192019-08-05 11:13:512397 days ago1565003631
0xDDD44287...eB8a31BA2
0.05014852 ETH
-82720062019-08-02 15:16:202400 days ago1564758980
0xDDD44287...eB8a31BA2
0.05012357 ETH
-82529422019-07-30 16:11:462403 days ago1564503106
0xDDD44287...eB8a31BA2
0.05013135 ETH
-82360752019-07-28 1:09:262406 days ago1564276166
0xDDD44287...eB8a31BA2
0.05019446 ETH
-82163872019-07-24 23:41:402409 days ago1564011700
0xDDD44287...eB8a31BA2
0.05004943 ETH
-81885372019-07-20 16:00:012413 days ago1563638401
0xDDD44287...eB8a31BA2
0.05020974 ETH
-81676622019-07-17 10:13:352416 days ago1563358415
0xDDD44287...eB8a31BA2
0.05030958 ETH
-81436782019-07-13 16:09:432420 days ago1563034183
0xDDD44287...eB8a31BA2
0.0501249 ETH
-81251182019-07-10 18:37:002423 days ago1562783820
0xDDD44287...eB8a31BA2
0.05001404 ETH
-81025362019-07-07 6:28:332426 days ago1562480913
0xDDD44287...eB8a31BA2
0.05010401 ETH
-80762842019-07-03 4:22:092430 days ago1562127729
0xDDD44287...eB8a31BA2
0.05002085 ETH
-80557892019-06-29 23:41:212434 days ago1561851681
0xDDD44287...eB8a31BA2
0.05014974 ETH
-80298982019-06-25 22:46:432438 days ago1561502803
0xDDD44287...eB8a31BA2
0.05017286 ETH
-80131052019-06-23 7:58:242440 days ago1561276704
0xDDD44287...eB8a31BA2
0.05011947 ETH
-79861922019-06-19 2:57:182445 days ago1560913038
0xDDD44287...eB8a31BA2
0.05002834 ETH
-79648032019-06-15 18:45:482448 days ago1560624348
0xDDD44287...eB8a31BA2
0.05007636 ETH
-79450422019-06-12 16:37:392451 days ago1560357459
0xDDD44287...eB8a31BA2
0.05005598 ETH
-79272222019-06-09 21:47:102454 days ago1560116830
0xDDD44287...eB8a31BA2
0.05005708 ETH
-79045982019-06-06 8:34:382457 days ago1559810078
0xDDD44287...eB8a31BA2
0.05010431 ETH
-78866462019-06-03 13:15:032460 days ago1559567703
0xDDD44287...eB8a31BA2
0.05001724 ETH
-78680412019-05-31 15:14:492463 days ago1559315689
0xDDD44287...eB8a31BA2
0.05002299 ETH
-78266672019-05-25 4:29:112469 days ago1558758551
0xDDD44287...eB8a31BA2
0.05000448 ETH
-78054932019-05-21 21:02:262473 days ago1558472546
0xDDD44287...eB8a31BA2
0.05022378 ETH
-77777122019-05-17 12:16:252477 days ago1558095385
0xDDD44287...eB8a31BA2
0.05019069 ETH
-77568502019-05-14 6:20:032480 days ago1557814803
0xDDD44287...eB8a31BA2
0.0500679 ETH
View All Internal Transactions
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.