ETH Price: $2,034.17 (-1.98%)
 

Overview

ETH Balance

0.000000004516498643 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep88032322019-10-24 13:31:072317 days ago1571923867IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer88032082019-10-24 13:26:192317 days ago1571923579IN
0xDD297343...bCbC41De4
0.19812732 ETH0.000021051
Sweep87587892019-10-17 13:25:222324 days ago1571318722IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer87587752019-10-17 13:21:482324 days ago1571318508IN
0xDD297343...bCbC41De4
1.00023555 ETH0.000021051
Sweep87470342019-10-15 16:54:022326 days ago1571158442IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer87470102019-10-15 16:49:322326 days ago1571158172IN
0xDD297343...bCbC41De4
1.00035943 ETH0.000021051
Sweep87357982019-10-13 22:38:072327 days ago1571006287IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer87357772019-10-13 22:32:442327 days ago1571005964IN
0xDD297343...bCbC41De4
1.00262444 ETH0.000021051
Sweep87246662019-10-12 4:36:562329 days ago1570855016IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer87246492019-10-12 4:33:222329 days ago1570854802IN
0xDD297343...bCbC41De4
1.00053203 ETH0.000021051
Sweep87134832019-10-10 10:21:222331 days ago1570702882IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer87134652019-10-10 10:18:322331 days ago1570702712IN
0xDD297343...bCbC41De4
1.00148025 ETH0.000021051
Sweep87021822019-10-08 15:45:462333 days ago1570549546IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer87021662019-10-08 15:43:122333 days ago1570549392IN
0xDD297343...bCbC41De4
1.00208387 ETH0.000021051
Sweep86904252019-10-06 19:36:112335 days ago1570390571IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer86904042019-10-06 19:31:282335 days ago1570390288IN
0xDD297343...bCbC41De4
1.00021428 ETH0.000021051
Sweep86790062019-10-05 0:49:502336 days ago1570236590IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer86789842019-10-05 0:45:592336 days ago1570236359IN
0xDD297343...bCbC41De4
1.00169802 ETH0.000021051
Sweep86672582019-10-03 4:53:052338 days ago1570078385IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer86672382019-10-03 4:49:552338 days ago1570078195IN
0xDD297343...bCbC41De4
1.00095946 ETH0.000021051
Sweep86559592019-10-01 10:35:092340 days ago1569926109IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer86559362019-10-01 10:30:452340 days ago1569925845IN
0xDD297343...bCbC41De4
1.00039368 ETH0.000021051
Sweep86446932019-09-29 16:17:132342 days ago1569773833IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
Transfer86446662019-09-29 16:11:472342 days ago1569773507IN
0xDD297343...bCbC41De4
1.00062353 ETH0.000021051
Sweep86275992019-09-27 0:00:562344 days ago1569542456IN
0xDD297343...bCbC41De4
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-88032322019-10-24 13:31:072317 days ago1571923867
0xDD297343...bCbC41De4
0.19812732 ETH
-87587892019-10-17 13:25:222324 days ago1571318722
0xDD297343...bCbC41De4
1.00023555 ETH
-87470342019-10-15 16:54:022326 days ago1571158442
0xDD297343...bCbC41De4
1.00035944 ETH
-87357982019-10-13 22:38:072327 days ago1571006287
0xDD297343...bCbC41De4
1.00262445 ETH
-87246662019-10-12 4:36:562329 days ago1570855016
0xDD297343...bCbC41De4
1.00053203 ETH
-87134832019-10-10 10:21:222331 days ago1570702882
0xDD297343...bCbC41De4
1.00148026 ETH
-87021822019-10-08 15:45:462333 days ago1570549546
0xDD297343...bCbC41De4
1.00208388 ETH
-86904252019-10-06 19:36:112335 days ago1570390571
0xDD297343...bCbC41De4
1.00021428 ETH
-86790062019-10-05 0:49:502336 days ago1570236590
0xDD297343...bCbC41De4
1.00169802 ETH
-86672582019-10-03 4:53:052338 days ago1570078385
0xDD297343...bCbC41De4
1.00095946 ETH
-86559592019-10-01 10:35:092340 days ago1569926109
0xDD297343...bCbC41De4
1.00039369 ETH
-86446932019-09-29 16:17:132342 days ago1569773833
0xDD297343...bCbC41De4
1.00062354 ETH
-86275992019-09-27 0:00:562344 days ago1569542456
0xDD297343...bCbC41De4
1.00154158 ETH
-86165562019-09-25 6:30:492346 days ago1569393049
0xDD297343...bCbC41De4
1.00038353 ETH
-86057472019-09-23 13:39:192348 days ago1569245959
0xDD297343...bCbC41De4
1.00062959 ETH
-85943532019-09-21 18:57:482350 days ago1569092268
0xDD297343...bCbC41De4
1.00092629 ETH
-85837672019-09-20 3:25:512351 days ago1568949951
0xDD297343...bCbC41De4
1.00030514 ETH
-85727052019-09-18 9:43:242353 days ago1568799804
0xDD297343...bCbC41De4
1.00257198 ETH
-85620962019-09-16 18:29:172355 days ago1568658557
0xDD297343...bCbC41De4
1.00225195 ETH
-85507532019-09-14 23:53:322356 days ago1568505212
0xDD297343...bCbC41De4
1.00179539 ETH
-85404782019-09-13 9:18:532358 days ago1568366333
0xDD297343...bCbC41De4
1.00174971 ETH
-85296662019-09-11 16:46:352360 days ago1568220395
0xDD297343...bCbC41De4
1.00001416 ETH
-85196432019-09-10 3:16:112361 days ago1568085371
0xDD297343...bCbC41De4
1.00163216 ETH
-85092592019-09-08 12:27:582363 days ago1567945678
0xDD297343...bCbC41De4
1.00155233 ETH
-84988262019-09-06 21:32:022364 days ago1567805522
0xDD297343...bCbC41De4
1.00055746 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.