ETH Price: $3,154.58 (-2.69%)

Contract

0x28D924A6Dd0f7a37c1b70f16E4EC3DD0547c1279
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep57516522018-06-08 5:31:332411 days ago1528435893IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57516282018-06-08 5:25:072411 days ago1528435507IN
0x28D924A6...0547c1279
0.05361358 ETH0.0003157615
Sweep57464002018-06-07 6:59:122412 days ago1528354752IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57463792018-06-07 6:53:222412 days ago1528354402IN
0x28D924A6...0547c1279
0.0504203 ETH0.0003157615
Sweep57425382018-06-06 14:36:352413 days ago1528295795IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57425142018-06-06 14:30:052413 days ago1528295405IN
0x28D924A6...0547c1279
0.05258245 ETH0.0003157615
Sweep57348732018-06-05 5:41:262414 days ago1528177286IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57348532018-06-05 5:36:292414 days ago1528176989IN
0x28D924A6...0547c1279
0.05160263 ETH0.0003157615
Sweep57283382018-06-04 2:14:262416 days ago1528078466IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57283212018-06-04 2:08:312416 days ago1528078111IN
0x28D924A6...0547c1279
0.05404046 ETH0.0002105110
Sweep57207572018-06-02 17:43:292417 days ago1527961409IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57207362018-06-02 17:39:042417 days ago1527961144IN
0x28D924A6...0547c1279
0.05299501 ETH0.0002105110
Sweep57151632018-06-01 18:03:542418 days ago1527876234IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer57151492018-06-01 18:00:402418 days ago1527876040IN
0x28D924A6...0547c1279
0.05134779 ETH0.0003157615
Sweep57097142018-05-31 18:39:552419 days ago1527791995IN
0x28D924A6...0547c1279
0 ETH0.0025028550
Transfer57096892018-05-31 18:34:462419 days ago1527791686IN
0x28D924A6...0547c1279
0.05461699 ETH0.0002736613
Transfer57013942018-05-30 7:11:052420 days ago1527664265IN
0x28D924A6...0547c1279
0.02474943 ETH0.0002315611
Sweep56988582018-05-29 20:25:032421 days ago1527625503IN
0x28D924A6...0547c1279
0 ETH0.0025028550
Transfer56988412018-05-29 20:20:062421 days ago1527625206IN
0x28D924A6...0547c1279
0.04214905 ETH0.0002315611
Transfer56958162018-05-29 7:20:472421 days ago1527578447IN
0x28D924A6...0547c1279
0.02264233 ETH0.0002315611
Transfer56907462018-05-28 9:58:562422 days ago1527501536IN
0x28D924A6...0547c1279
0.0265838 ETH0.0002315611
Sweep56887912018-05-28 1:37:492423 days ago1527471469IN
0x28D924A6...0547c1279
0 ETH0.0024996550
Transfer56887612018-05-28 1:30:562423 days ago1527471056IN
0x28D924A6...0547c1279
0.02275642 ETH0.0002315611
Transfer56866282018-05-27 16:51:032423 days ago1527439863IN
0x28D924A6...0547c1279
0.02384968 ETH0.0002315611
Transfer56830442018-05-27 1:24:292424 days ago1527384269IN
0x28D924A6...0547c1279
0.02171765 ETH0.0002315611
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
57516522018-06-08 5:31:332411 days ago1528435893
0x28D924A6...0547c1279
0.05361359 ETH
57464002018-06-07 6:59:122412 days ago1528354752
0x28D924A6...0547c1279
0.05042031 ETH
57425382018-06-06 14:36:352413 days ago1528295795
0x28D924A6...0547c1279
0.05258245 ETH
57348732018-06-05 5:41:262414 days ago1528177286
0x28D924A6...0547c1279
0.05160264 ETH
57283382018-06-04 2:14:262416 days ago1528078466
0x28D924A6...0547c1279
0.05404047 ETH
57207572018-06-02 17:43:292417 days ago1527961409
0x28D924A6...0547c1279
0.05299501 ETH
57151632018-06-01 18:03:542418 days ago1527876234
0x28D924A6...0547c1279
0.0513478 ETH
57097142018-05-31 18:39:552419 days ago1527791995
0x28D924A6...0547c1279
0.07936643 ETH
56988582018-05-29 20:25:032421 days ago1527625503
0x28D924A6...0547c1279
0.0913752 ETH
56887912018-05-28 1:37:492423 days ago1527471469
0x28D924A6...0547c1279
0.06832377 ETH
56824442018-05-26 22:53:302424 days ago1527375210
0x28D924A6...0547c1279
0.08249866 ETH
56776642018-05-26 2:56:342425 days ago1527303394
0x28D924A6...0547c1279
0.05480235 ETH
56735672018-05-25 9:09:492425 days ago1527239389
0x28D924A6...0547c1279
0.07128002 ETH
56644792018-05-23 18:29:122427 days ago1527100152
0x28D924A6...0547c1279
0.07354751 ETH
56593602018-05-22 20:39:442428 days ago1527021584
0x28D924A6...0547c1279
0.05021616 ETH
56550542018-05-22 2:06:182429 days ago1526954778
0x28D924A6...0547c1279
0.05147824 ETH
56512772018-05-21 10:02:072429 days ago1526896927
0x28D924A6...0547c1279
0.06205573 ETH
56469322018-05-20 15:48:562430 days ago1526831336
0x28D924A6...0547c1279
0.06534434 ETH
56360702018-05-18 17:40:222432 days ago1526665222
0x28D924A6...0547c1279
0.06013871 ETH
56309682018-05-17 19:44:272433 days ago1526586267
0x28D924A6...0547c1279
0.08203477 ETH
56231192018-05-16 10:40:362434 days ago1526467236
0x28D924A6...0547c1279
0.05927068 ETH
56156912018-05-15 3:20:122435 days ago1526354412
0x28D924A6...0547c1279
0.07529483 ETH
56066992018-05-13 13:22:412437 days ago1526217761
0x28D924A6...0547c1279
0.05414261 ETH
56027672018-05-12 21:03:592438 days ago1526159039
0x28D924A6...0547c1279
0.06959675 ETH
55950502018-05-11 12:54:542439 days ago1526043294
0x28D924A6...0547c1279
0.05225258 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.