ETH Price: $2,023.04 (+3.53%)
 

Overview

ETH Balance

0.000000002700148576 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep89907522019-11-24 5:38:562290 days ago1574573936IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer89907322019-11-24 5:34:542290 days ago1574573694IN
0x2690dfDB...cBF9639dF
0.20008217 ETH0.0003157615
Sweep89614652019-11-19 8:44:082295 days ago1574153048IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer89614492019-11-19 8:39:402295 days ago1574152780IN
0x2690dfDB...cBF9639dF
0.20013023 ETH0.0003157615
Sweep89359222019-11-15 2:27:292299 days ago1573784849IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer89358992019-11-15 2:21:432299 days ago1573784503IN
0x2690dfDB...cBF9639dF
0.20029594 ETH0.0003157615
Sweep89116372019-11-11 1:27:442303 days ago1573435664IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer89116072019-11-11 1:21:522303 days ago1573435312IN
0x2690dfDB...cBF9639dF
0.20003602 ETH0.0003157615
Sweep88885622019-11-07 6:46:242307 days ago1573109184IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer88885392019-11-07 6:39:232307 days ago1573108763IN
0x2690dfDB...cBF9639dF
0.20039305 ETH0.0003157615
Sweep88669232019-11-03 19:14:042310 days ago1572808444IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer88669082019-11-03 19:10:592311 days ago1572808259IN
0x2690dfDB...cBF9639dF
0.20020481 ETH0.0003157615
Sweep88444242019-10-31 4:43:552314 days ago1572497035IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer88444072019-10-31 4:40:122314 days ago1572496812IN
0x2690dfDB...cBF9639dF
0.20014959 ETH0.0003157615
Sweep88250742019-10-28 1:46:472317 days ago1572227207IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer88250492019-10-28 1:40:542317 days ago1572226854IN
0x2690dfDB...cBF9639dF
0.20048717 ETH0.0003157615
Sweep88066892019-10-25 2:49:252320 days ago1571971765IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer88066682019-10-25 2:42:392320 days ago1571971359IN
0x2690dfDB...cBF9639dF
0.20006749 ETH0.0003157615
Sweep87886772019-10-22 6:24:442323 days ago1571725484IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer87886482019-10-22 6:18:372323 days ago1571725117IN
0x2690dfDB...cBF9639dF
0.20030889 ETH0.0003157615
Sweep87699172019-10-19 7:21:282326 days ago1571469688IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer87698992019-10-19 7:16:312326 days ago1571469391IN
0x2690dfDB...cBF9639dF
0.20066207 ETH0.0003157615
Sweep87514792019-10-16 9:48:292329 days ago1571219309IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
Transfer87514532019-10-16 9:43:422329 days ago1571219022IN
0x2690dfDB...cBF9639dF
0.20007583 ETH0.0003157615
Sweep87318002019-10-13 7:25:562332 days ago1570951556IN
0x2690dfDB...cBF9639dF
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-89907522019-11-24 5:38:562290 days ago1574573936
0x2690dfDB...cBF9639dF
0.20008218 ETH
-89614652019-11-19 8:44:082295 days ago1574153048
0x2690dfDB...cBF9639dF
0.20013023 ETH
-89359222019-11-15 2:27:292299 days ago1573784849
0x2690dfDB...cBF9639dF
0.20029595 ETH
-89116372019-11-11 1:27:442303 days ago1573435664
0x2690dfDB...cBF9639dF
0.20003602 ETH
-88885622019-11-07 6:46:242307 days ago1573109184
0x2690dfDB...cBF9639dF
0.20039306 ETH
-88669232019-11-03 19:14:042310 days ago1572808444
0x2690dfDB...cBF9639dF
0.20020482 ETH
-88444242019-10-31 4:43:552314 days ago1572497035
0x2690dfDB...cBF9639dF
0.20014959 ETH
-88250742019-10-28 1:46:472317 days ago1572227207
0x2690dfDB...cBF9639dF
0.20048718 ETH
-88066892019-10-25 2:49:252320 days ago1571971765
0x2690dfDB...cBF9639dF
0.20006749 ETH
-87886772019-10-22 6:24:442323 days ago1571725484
0x2690dfDB...cBF9639dF
0.20030889 ETH
-87699172019-10-19 7:21:282326 days ago1571469688
0x2690dfDB...cBF9639dF
0.20066208 ETH
-87514792019-10-16 9:48:292329 days ago1571219309
0x2690dfDB...cBF9639dF
0.20007583 ETH
-87318002019-10-13 7:25:562332 days ago1570951556
0x2690dfDB...cBF9639dF
0.20024932 ETH
-87143392019-10-10 13:38:462335 days ago1570714726
0x2690dfDB...cBF9639dF
0.20012245 ETH
-86949492019-10-07 12:35:492338 days ago1570451749
0x2690dfDB...cBF9639dF
0.20036726 ETH
-86746592019-10-04 8:42:122341 days ago1570178532
0x2690dfDB...cBF9639dF
0.20031531 ETH
-86543092019-10-01 4:17:552344 days ago1569903475
0x2690dfDB...cBF9639dF
0.20059038 ETH
-86333122019-09-27 21:29:482347 days ago1569619788
0x2690dfDB...cBF9639dF
0.20045684 ETH
-86126912019-09-24 16:01:182351 days ago1569340878
0x2690dfDB...cBF9639dF
0.20051114 ETH
-85816382019-09-19 19:27:532355 days ago1568921273
0x2690dfDB...cBF9639dF
0.20010719 ETH
-85626362019-09-16 20:23:432358 days ago1568665423
0x2690dfDB...cBF9639dF
0.20007472 ETH
-85443432019-09-13 23:59:412361 days ago1568419181
0x2690dfDB...cBF9639dF
0.20036843 ETH
-85263962019-09-11 4:33:282364 days ago1568176408
0x2690dfDB...cBF9639dF
0.20093929 ETH
-85091792019-09-08 12:06:372367 days ago1567944397
0x2690dfDB...cBF9639dF
0.2004377 ETH
-84924352019-09-05 21:25:222369 days ago1567718722
0x2690dfDB...cBF9639dF
0.20001252 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.