ETH Price: $2,671.28 (+1.23%)
Gas: 23 Gwei

Contract

0x916D85d4FF0A4FE3E7F64050a9ECDE13eEaC65EC
 

Overview

ETH Balance

0.000000008247972 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep49208352018-01-17 0:46:192399 days ago1516149979IN
0x916D85d4...3eEaC65EC
0 ETH0.0045108990
Transfer49207982018-01-17 0:36:412399 days ago1516149401IN
0x916D85d4...3eEaC65EC
240.874242 ETH0.0020629998
Sweep49192092018-01-16 17:42:302399 days ago1516124550IN
0x916D85d4...3eEaC65EC
0 ETH0.0045051390
Transfer49191632018-01-16 17:33:342399 days ago1516124014IN
0x916D85d4...3eEaC65EC
307.258648 ETH0.0019156491
Sweep48367112018-01-01 16:12:102414 days ago1514823130IN
0x916D85d4...3eEaC65EC
0 ETH0.002552951
Transfer48366802018-01-01 16:03:552414 days ago1514822635IN
0x916D85d4...3eEaC65EC
103.08152 ETH0.0012630660
Sweep48355722018-01-01 11:27:402415 days ago1514806060IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48355402018-01-01 11:18:082415 days ago1514805488IN
0x916D85d4...3eEaC65EC
124.554879 ETH0.0019156491
Sweep48272932017-12-31 1:57:562416 days ago1514685476IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48272592017-12-31 1:48:142416 days ago1514684894IN
0x916D85d4...3eEaC65EC
141.386489 ETH0.0019156491
Sweep48238252017-12-30 11:50:512417 days ago1514634651IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48237942017-12-30 11:44:462417 days ago1514634286IN
0x916D85d4...3eEaC65EC
176.215114 ETH0.0012630660
Sweep48232912017-12-30 9:45:002417 days ago1514627100IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48232612017-12-30 9:38:332417 days ago1514626713IN
0x916D85d4...3eEaC65EC
117.217771 ETH0.0012630660
Sweep48215612017-12-30 2:26:012417 days ago1514600761IN
0x916D85d4...3eEaC65EC
0 ETH0.002552951
Transfer48215192017-12-30 2:16:332417 days ago1514600193IN
0x916D85d4...3eEaC65EC
92.255075 ETH0.0012630660
Sweep48075172017-12-27 16:39:202419 days ago1514392760IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48074822017-12-27 16:31:502419 days ago1514392310IN
0x916D85d4...3eEaC65EC
71.62057 ETH0.0019156491
Sweep48074812017-12-27 16:31:232419 days ago1514392283IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48074432017-12-27 16:22:112419 days ago1514391731IN
0x916D85d4...3eEaC65EC
70.692198 ETH0.0019156491
Sweep48021012017-12-26 18:47:592420 days ago1514314079IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48020712017-12-26 18:40:262420 days ago1514313626IN
0x916D85d4...3eEaC65EC
65.701689 ETH0.0019156491
Sweep48008892017-12-26 13:51:302420 days ago1514296290IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
Transfer48008522017-12-26 13:44:002420 days ago1514295840IN
0x916D85d4...3eEaC65EC
67.643571 ETH0.0019156491
Sweep47817372017-12-23 9:25:232424 days ago1514021123IN
0x916D85d4...3eEaC65EC
0 ETH0.0025561751
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
49208352018-01-17 0:46:192399 days ago1516149979
0x916D85d4...3eEaC65EC
240.874242 ETH
49192092018-01-16 17:42:302399 days ago1516124550
0x916D85d4...3eEaC65EC
307.258648 ETH
48367112018-01-01 16:12:102414 days ago1514823130
0x916D85d4...3eEaC65EC
103.08152 ETH
48355722018-01-01 11:27:402415 days ago1514806060
0x916D85d4...3eEaC65EC
124.554879 ETH
48272932017-12-31 1:57:562416 days ago1514685476
0x916D85d4...3eEaC65EC
141.386489 ETH
48238252017-12-30 11:50:512417 days ago1514634651
0x916D85d4...3eEaC65EC
176.215114 ETH
48232912017-12-30 9:45:002417 days ago1514627100
0x916D85d4...3eEaC65EC
117.217771 ETH
48215612017-12-30 2:26:012417 days ago1514600761
0x916D85d4...3eEaC65EC
92.255075 ETH
48075172017-12-27 16:39:202419 days ago1514392760
0x916D85d4...3eEaC65EC
71.62057 ETH
48074812017-12-27 16:31:232419 days ago1514392283
0x916D85d4...3eEaC65EC
70.692198 ETH
48021012017-12-26 18:47:592420 days ago1514314079
0x916D85d4...3eEaC65EC
65.701689 ETH
48008892017-12-26 13:51:302420 days ago1514296290
0x916D85d4...3eEaC65EC
67.643571 ETH
47817372017-12-23 9:25:232424 days ago1514021123
0x916D85d4...3eEaC65EC
79.450738 ETH
47790572017-12-22 22:22:122424 days ago1513981332
0x916D85d4...3eEaC65EC
86.063051 ETH
47735582017-12-21 23:07:352425 days ago1513897655
0x916D85d4...3eEaC65EC
46.255771 ETH
47728152017-12-21 19:50:272425 days ago1513885827
0x916D85d4...3eEaC65EC
43.173009 ETH
47725652017-12-21 18:47:212425 days ago1513882041
0x916D85d4...3eEaC65EC
41.945216 ETH
47684822017-12-21 1:17:332426 days ago1513819053
0x916D85d4...3eEaC65EC
55.953275 ETH
47489552017-12-17 14:35:082429 days ago1513521308
0x916D85d4...3eEaC65EC
45.82350915 ETH
47348592017-12-15 4:04:392432 days ago1513310679
0x916D85d4...3eEaC65EC
110.13034958 ETH
47341482017-12-15 1:07:172432 days ago1513300037
0x916D85d4...3eEaC65EC
123.83352173 ETH
47325562017-12-14 18:27:152432 days ago1513276035
0x916D85d4...3eEaC65EC
60.61516727 ETH
47201712017-12-12 13:57:542434 days ago1513087074
0x916D85d4...3eEaC65EC
117.40183434 ETH
47175442017-12-12 3:11:182435 days ago1513048278
0x916D85d4...3eEaC65EC
141.31867162 ETH
47171342017-12-12 1:22:542435 days ago1513041774
0x916D85d4...3eEaC65EC
119.65865719 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.