ETH Price: $3,163.85 (-0.80%)

Contract

0x1fbbd62B0B2b0A843f105c76e7a0d681c1d145Fb
 

Overview

ETH Balance

0.046729909346768319 ETH

Eth Value

$147.85 (@ $3,163.85/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer62979702018-09-09 4:03:522255 days ago1536465832IN
0x1fbbd62B...1c1d145Fb
0.0467299 ETH0.000021051
Sweep62562492018-09-02 4:03:082262 days ago1535860988IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0024996550
Transfer62562322018-09-02 3:58:422262 days ago1535860722IN
0x1fbbd62B...1c1d145Fb
0.05006611 ETH0.000021051
Sweep62334152018-08-29 7:17:382266 days ago1535527058IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0024996550
Transfer62333942018-08-29 7:12:452266 days ago1535526765IN
0x1fbbd62B...1c1d145Fb
0.05002125 ETH0.000021051
Sweep62110382018-08-25 12:40:372269 days ago1535200837IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0024996550
Transfer62110122018-08-25 12:35:062269 days ago1535200506IN
0x1fbbd62B...1c1d145Fb
0.05008788 ETH0.000021051
Sweep61996672018-08-23 14:35:002271 days ago1535034900IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0024996550
Transfer61996312018-08-23 14:23:422271 days ago1535034222IN
0x1fbbd62B...1c1d145Fb
0.0500826 ETH0.000021051
Sweep61885772018-08-21 17:30:172273 days ago1534872617IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0024996550
Transfer61885302018-08-21 17:22:062273 days ago1534872126IN
0x1fbbd62B...1c1d145Fb
0.05007105 ETH0.000021051
Sweep61771022018-08-19 19:02:462275 days ago1534705366IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61770642018-08-19 18:55:382275 days ago1534704938IN
0x1fbbd62B...1c1d145Fb
0.05012114 ETH0.000021051
Sweep61652192018-08-17 18:40:112277 days ago1534531211IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61651962018-08-17 18:33:542277 days ago1534530834IN
0x1fbbd62B...1c1d145Fb
0.05005715 ETH0.000021051
Sweep61544732018-08-15 23:02:002279 days ago1534374120IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61544502018-08-15 22:56:032279 days ago1534373763IN
0x1fbbd62B...1c1d145Fb
0.05002405 ETH0.000021051
Sweep61365862018-08-12 22:37:312282 days ago1534113451IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61365572018-08-12 22:29:242282 days ago1534112964IN
0x1fbbd62B...1c1d145Fb
0.05008493 ETH0.000021051
Sweep61238942018-08-10 18:52:042284 days ago1533927124IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61238712018-08-10 18:48:002284 days ago1533926880IN
0x1fbbd62B...1c1d145Fb
0.05001977 ETH0.000021051
Sweep61130792018-08-08 23:03:042286 days ago1533769384IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61130612018-08-08 22:58:462286 days ago1533769126IN
0x1fbbd62B...1c1d145Fb
0.05009245 ETH0.000021051
Sweep61023482018-08-07 3:35:322288 days ago1533612932IN
0x1fbbd62B...1c1d145Fb
0 ETH0.0049993100
Transfer61023252018-08-07 3:30:422288 days ago1533612642IN
0x1fbbd62B...1c1d145Fb
0.05005935 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
62562492018-09-02 4:03:082262 days ago1535860988
0x1fbbd62B...1c1d145Fb
0.05006611 ETH
62334152018-08-29 7:17:382266 days ago1535527058
0x1fbbd62B...1c1d145Fb
0.05002125 ETH
62110382018-08-25 12:40:372269 days ago1535200837
0x1fbbd62B...1c1d145Fb
0.05008789 ETH
61996672018-08-23 14:35:002271 days ago1535034900
0x1fbbd62B...1c1d145Fb
0.0500826 ETH
61885772018-08-21 17:30:172273 days ago1534872617
0x1fbbd62B...1c1d145Fb
0.05007106 ETH
61771022018-08-19 19:02:462275 days ago1534705366
0x1fbbd62B...1c1d145Fb
0.05012114 ETH
61652192018-08-17 18:40:112277 days ago1534531211
0x1fbbd62B...1c1d145Fb
0.05005716 ETH
61544732018-08-15 23:02:002279 days ago1534374120
0x1fbbd62B...1c1d145Fb
0.05002406 ETH
61365862018-08-12 22:37:312282 days ago1534113451
0x1fbbd62B...1c1d145Fb
0.05008493 ETH
61238942018-08-10 18:52:042284 days ago1533927124
0x1fbbd62B...1c1d145Fb
0.05001978 ETH
61130792018-08-08 23:03:042286 days ago1533769384
0x1fbbd62B...1c1d145Fb
0.05009245 ETH
61023482018-08-07 3:35:322288 days ago1533612932
0x1fbbd62B...1c1d145Fb
0.05005936 ETH
60871902018-08-04 14:08:592290 days ago1533391739
0x1fbbd62B...1c1d145Fb
0.05004053 ETH
60669452018-08-01 3:54:522294 days ago1533095692
0x1fbbd62B...1c1d145Fb
0.05012603 ETH
60559732018-07-30 7:33:162296 days ago1532935996
0x1fbbd62B...1c1d145Fb
0.05010406 ETH
60396022018-07-27 14:00:492298 days ago1532700049
0x1fbbd62B...1c1d145Fb
0.0500043 ETH
60258562018-07-25 5:57:162301 days ago1532498236
0x1fbbd62B...1c1d145Fb
0.05005947 ETH
60157242018-07-23 12:10:462302 days ago1532347846
0x1fbbd62B...1c1d145Fb
0.05003219 ETH
60055712018-07-21 19:12:472304 days ago1532200367
0x1fbbd62B...1c1d145Fb
0.05001918 ETH
59940442018-07-19 20:18:092306 days ago1532031489
0x1fbbd62B...1c1d145Fb
0.05013205 ETH
59834932018-07-18 0:24:492308 days ago1531873489
0x1fbbd62B...1c1d145Fb
0.05006278 ETH
59728752018-07-16 4:56:022310 days ago1531716962
0x1fbbd62B...1c1d145Fb
0.0500059 ETH
59629112018-07-14 13:02:192311 days ago1531573339
0x1fbbd62B...1c1d145Fb
0.05005862 ETH
59525232018-07-12 19:35:272313 days ago1531424127
0x1fbbd62B...1c1d145Fb
0.05015121 ETH
59404102018-07-10 18:35:072315 days ago1531247707
0x1fbbd62B...1c1d145Fb
0.05009797 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.