ETH Price: $2,559.11 (-0.04%)

Contract

0x215287682b54Cf5c6D4c4e0ACF590cCA180C655D
 

Overview

ETH Balance

0.000000002163571882 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep61496492018-08-15 3:36:472229 days ago1534304207IN
0x21528768...A180C655D
0 ETH0.0050057100
Transfer61496292018-08-15 3:30:582229 days ago1534303858IN
0x21528768...A180C655D
0.0272055 ETH0.000021051
Transfer61082162018-08-08 3:27:272236 days ago1533698847IN
0x21528768...A180C655D
0.04603333 ETH0.000021051
Sweep60668522018-08-01 3:33:372243 days ago1533094417IN
0x21528768...A180C655D
0 ETH0.0049929100
Transfer60668352018-08-01 3:27:232243 days ago1533094043IN
0x21528768...A180C655D
0.01954024 ETH0.000021051
Transfer60252602018-07-25 3:25:282250 days ago1532489128IN
0x21528768...A180C655D
0.0362863 ETH0.000021051
Sweep59841782018-07-18 3:24:582257 days ago1531884298IN
0x21528768...A180C655D
0 ETH0.0049993100
Transfer59841512018-07-18 3:19:342257 days ago1531883974IN
0x21528768...A180C655D
0.05003806 ETH0.000021051
Sweep59621702018-07-14 10:15:512261 days ago1531563351IN
0x21528768...A180C655D
0 ETH0.0050057100
Transfer59621382018-07-14 10:05:232261 days ago1531562723IN
0x21528768...A180C655D
0.05001462 ETH0.000021051
Transfer59276452018-07-08 13:54:392267 days ago1531058079IN
0x21528768...A180C655D
0.04220583 ETH0.000021051
Sweep58874832018-07-01 16:37:572273 days ago1530463077IN
0x21528768...A180C655D
0 ETH0.00772391154.5
Transfer58868192018-07-01 13:49:482274 days ago1530452988IN
0x21528768...A180C655D
0.05002231 ETH0.000021051
Sweep58595682018-06-26 21:19:102278 days ago1530047950IN
0x21528768...A180C655D
0 ETH0.0024996550
Transfer58595432018-06-26 21:13:382278 days ago1530047618IN
0x21528768...A180C655D
0.05000463 ETH0.000021051
Sweep58365862018-06-22 22:04:442282 days ago1529705084IN
0x21528768...A180C655D
0 ETH0.0024996550
Transfer58365622018-06-22 21:58:042282 days ago1529704684IN
0x21528768...A180C655D
0.05003171 ETH0.000021051
Sweep58135012018-06-18 23:04:442286 days ago1529363084IN
0x21528768...A180C655D
0 ETH0.0024996550
Transfer58134752018-06-18 22:59:022286 days ago1529362742IN
0x21528768...A180C655D
0.05001496 ETH0.000021051
Sweep57909672018-06-15 3:09:422290 days ago1529032182IN
0x21528768...A180C655D
0 ETH0.0024996550
Transfer57909402018-06-15 3:02:322290 days ago1529031752IN
0x21528768...A180C655D
0.05005048 ETH0.000021051
Sweep57692222018-06-11 8:14:212294 days ago1528704861IN
0x21528768...A180C655D
0 ETH0.0024996550
Transfer57692022018-06-11 8:08:332294 days ago1528704513IN
0x21528768...A180C655D
0.05004452 ETH0.000021051
Sweep57482002018-06-07 14:49:362298 days ago1528382976IN
0x21528768...A180C655D
0 ETH0.0024996550
Transfer57481822018-06-07 14:44:582298 days ago1528382698IN
0x21528768...A180C655D
0.05003602 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
61496492018-08-15 3:36:472229 days ago1534304207
0x21528768...A180C655D
0.07323884 ETH
60668522018-08-01 3:33:372243 days ago1533094417
0x21528768...A180C655D
0.05582656 ETH
59841782018-07-18 3:24:582257 days ago1531884298
0x21528768...A180C655D
0.05003807 ETH
59621702018-07-14 10:15:512261 days ago1531563351
0x21528768...A180C655D
0.09222047 ETH
58874832018-07-01 16:37:572273 days ago1530463077
0x21528768...A180C655D
0.05002232 ETH
58595682018-06-26 21:19:102278 days ago1530047950
0x21528768...A180C655D
0.05000463 ETH
58365862018-06-22 22:04:442282 days ago1529705084
0x21528768...A180C655D
0.05003171 ETH
58135012018-06-18 23:04:442286 days ago1529363084
0x21528768...A180C655D
0.05001496 ETH
57909672018-06-15 3:09:422290 days ago1529032182
0x21528768...A180C655D
0.05005049 ETH
57692222018-06-11 8:14:212294 days ago1528704861
0x21528768...A180C655D
0.05004452 ETH
57482002018-06-07 14:49:362298 days ago1528382976
0x21528768...A180C655D
0.05003602 ETH
57260042018-06-03 16:13:372301 days ago1528042417
0x21528768...A180C655D
0.05000159 ETH
57047462018-05-30 21:40:202305 days ago1527716420
0x21528768...A180C655D
0.05002048 ETH
56838412018-05-27 4:44:392309 days ago1527396279
0x21528768...A180C655D
0.05003038 ETH
56629512018-05-23 12:10:202313 days ago1527077420
0x21528768...A180C655D
0.0500641 ETH
56418422018-05-19 18:15:192316 days ago1526753719
0x21528768...A180C655D
0.05001924 ETH
56208802018-05-16 1:02:592320 days ago1526432579
0x21528768...A180C655D
0.05003667 ETH
55979232018-05-12 0:41:572324 days ago1526085717
0x21528768...A180C655D
0.05001748 ETH
55757362018-05-08 3:44:492328 days ago1525751089
0x21528768...A180C655D
0.05010382 ETH
55398682018-05-01 21:18:342334 days ago1525209514
0x21528768...A180C655D
0.05001289 ETH
55133542018-04-27 6:22:402339 days ago1524810160
0x21528768...A180C655D
0.05000066 ETH
54927732018-04-23 16:57:582342 days ago1524502678
0x21528768...A180C655D
0.05008692 ETH
54732122018-04-20 8:38:292346 days ago1524213509
0x21528768...A180C655D
0.05007347 ETH
54523892018-04-16 18:39:462349 days ago1523903986
0x21528768...A180C655D
0.05001403 ETH
54154982018-04-10 13:17:202356 days ago1523366240
0x21528768...A180C655D
0.05003772 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.