ETH Price: $3,333.54 (+4.22%)

Contract

0x9c38f56c33d2e50c21A082Bd2b5a19D5DC30a5af
 

Overview

ETH Balance

0.000000002432586016 ETH

Eth Value

Less Than $0.01 (@ $3,333.54/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep89507042019-11-17 13:31:201886 days ago1573997480IN
0x9c38f56c...5DC30a5af
0 ETH0.0011012522
Transfer89506812019-11-17 13:27:281886 days ago1573997248IN
0x9c38f56c...5DC30a5af
0.20005002 ETH0.0003157615
Sweep87470752019-10-15 17:04:011919 days ago1571159041IN
0x9c38f56c...5DC30a5af
0 ETH0.0011012522
Transfer87470582019-10-15 16:59:511919 days ago1571158791IN
0x9c38f56c...5DC30a5af
0.20003517 ETH0.0003157615
Sweep84772812019-09-03 12:48:451961 days ago1567514925IN
0x9c38f56c...5DC30a5af
0 ETH0.0011012522
Transfer84772632019-09-03 12:44:421961 days ago1567514682IN
0x9c38f56c...5DC30a5af
0.20000994 ETH0.0002105110
Sweep82990422019-08-06 19:48:031989 days ago1565120883IN
0x9c38f56c...5DC30a5af
0 ETH0.0011012522
Transfer82990232019-08-06 19:42:351989 days ago1565120555IN
0x9c38f56c...5DC30a5af
0.20002386 ETH0.0002105110
Sweep81342082019-07-12 4:32:232015 days ago1562905943IN
0x9c38f56c...5DC30a5af
0 ETH0.0011012522
Transfer81341862019-07-12 4:26:592015 days ago1562905619IN
0x9c38f56c...5DC30a5af
0.20000209 ETH0.0002105110
Sweep79595912019-06-14 23:04:312042 days ago1560553471IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer79595742019-06-14 23:00:532042 days ago1560553253IN
0x9c38f56c...5DC30a5af
0.20003307 ETH0.0002105110
Sweep78082272019-05-22 7:11:122066 days ago1558509072IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer78082112019-05-22 7:08:292066 days ago1558508909IN
0x9c38f56c...5DC30a5af
0.20017726 ETH0.0002105110
Sweep76668852019-04-30 5:20:562088 days ago1556601656IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer76668712019-04-30 5:17:492088 days ago1556601469IN
0x9c38f56c...5DC30a5af
0.20000327 ETH0.0002105110
Sweep75330732019-04-09 9:22:352109 days ago1554801755IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer75330582019-04-09 9:18:502109 days ago1554801530IN
0x9c38f56c...5DC30a5af
0.20002011 ETH0.0002105110
Sweep74003482019-03-19 16:32:002129 days ago1553013120IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer74003302019-03-19 16:28:182129 days ago1553012898IN
0x9c38f56c...5DC30a5af
0.20000511 ETH0.0002105110
Sweep72698242019-02-26 10:47:002150 days ago1551178020IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer72698062019-02-26 10:40:032150 days ago1551177603IN
0x9c38f56c...5DC30a5af
0.20016088 ETH0.0002105110
Sweep71805812019-02-05 23:49:372171 days ago1549410577IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
Transfer71805662019-02-05 23:44:582171 days ago1549410298IN
0x9c38f56c...5DC30a5af
0.20001858 ETH0.0002105110
Sweep70817492019-01-17 13:34:512190 days ago1547732091IN
0x9c38f56c...5DC30a5af
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
89507042019-11-17 13:31:201886 days ago1573997480
0x9c38f56c...5DC30a5af
0.20005003 ETH
87470752019-10-15 17:04:011919 days ago1571159041
0x9c38f56c...5DC30a5af
0.20003517 ETH
84772812019-09-03 12:48:451961 days ago1567514925
0x9c38f56c...5DC30a5af
0.20000995 ETH
82990422019-08-06 19:48:031989 days ago1565120883
0x9c38f56c...5DC30a5af
0.20002386 ETH
81342082019-07-12 4:32:232015 days ago1562905943
0x9c38f56c...5DC30a5af
0.20000209 ETH
79595912019-06-14 23:04:312042 days ago1560553471
0x9c38f56c...5DC30a5af
0.20003308 ETH
78082272019-05-22 7:11:122066 days ago1558509072
0x9c38f56c...5DC30a5af
0.20017726 ETH
76668852019-04-30 5:20:562088 days ago1556601656
0x9c38f56c...5DC30a5af
0.20000328 ETH
75330732019-04-09 9:22:352109 days ago1554801755
0x9c38f56c...5DC30a5af
0.20002011 ETH
74003482019-03-19 16:32:002129 days ago1553013120
0x9c38f56c...5DC30a5af
0.20000511 ETH
72698242019-02-26 10:47:002150 days ago1551178020
0x9c38f56c...5DC30a5af
0.20016089 ETH
71805812019-02-05 23:49:372171 days ago1549410577
0x9c38f56c...5DC30a5af
0.20001858 ETH
70817492019-01-17 13:34:512190 days ago1547732091
0x9c38f56c...5DC30a5af
0.20017425 ETH
69717792018-12-29 3:52:392210 days ago1546055559
0x9c38f56c...5DC30a5af
0.20003901 ETH
68672992018-12-11 14:09:562227 days ago1544537396
0x9c38f56c...5DC30a5af
0.20006707 ETH
67535312018-11-22 19:51:582246 days ago1542916318
0x9c38f56c...5DC30a5af
0.20004614 ETH
65709162018-10-23 21:34:352276 days ago1540330475
0x9c38f56c...5DC30a5af
0.20000757 ETH
64207612018-09-29 10:39:102300 days ago1538217550
0x9c38f56c...5DC30a5af
0.20015778 ETH
62720812018-09-04 19:40:462325 days ago1536090046
0x9c38f56c...5DC30a5af
0.20001058 ETH
61074362018-08-08 0:23:012353 days ago1533687781
0x9c38f56c...5DC30a5af
0.20007009 ETH
59430992018-07-11 5:48:572381 days ago1531288137
0x9c38f56c...5DC30a5af
0.20003311 ETH
56841842018-05-27 6:16:412426 days ago1527401801
0x9c38f56c...5DC30a5af
0.20002364 ETH
55087202018-04-26 10:58:292456 days ago1524740309
0x9c38f56c...5DC30a5af
0.20013835 ETH
54651862018-04-18 23:16:552464 days ago1524093415
0x9c38f56c...5DC30a5af
0.20007652 ETH
54251902018-04-12 4:09:292471 days ago1523506169
0x9c38f56c...5DC30a5af
0.20012435 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.