ETH Price: $1,874.34 (+0.26%)
 

Overview

ETH Balance

0.017577107528951016 ETH

Eth Value

$32.95 (@ $1,874.34/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer55933592018-05-11 5:35:172498 days ago1526016917IN
0x7814D781...bBd1CE74D
0.0175771 ETH0.0004210220
Sweep46327202017-11-27 16:41:252662 days ago1511800885IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer46327082017-11-27 16:37:392662 days ago1511800659IN
0x7814D781...bBd1CE74D
0.05123111 ETH0.00008424
Sweep46269732017-11-26 18:01:162663 days ago1511719276IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer46269622017-11-26 17:58:312663 days ago1511719111IN
0x7814D781...bBd1CE74D
0.05054163 ETH0.00008424
Sweep46220082017-11-25 22:49:412664 days ago1511650181IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer46219952017-11-25 22:47:082664 days ago1511650028IN
0x7814D781...bBd1CE74D
0.05380337 ETH0.00008424
Sweep46160972017-11-24 23:54:272665 days ago1511567667IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer46160902017-11-24 23:52:472665 days ago1511567567IN
0x7814D781...bBd1CE74D
0.05143769 ETH0.00008424
Sweep46089852017-11-23 20:36:212666 days ago1511469381IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer46089592017-11-23 20:32:022666 days ago1511469122IN
0x7814D781...bBd1CE74D
0.05123178 ETH0.00008424
Sweep46029662017-11-22 21:14:002667 days ago1511385240IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer46029552017-11-22 21:11:592667 days ago1511385119IN
0x7814D781...bBd1CE74D
0.05115026 ETH0.00008424
Sweep45972632017-11-21 23:15:142668 days ago1511306114IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer45972512017-11-21 23:11:122668 days ago1511305872IN
0x7814D781...bBd1CE74D
0.05093075 ETH0.00008424
Sweep45922812017-11-21 3:56:132669 days ago1511236573IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer45922742017-11-21 3:54:082669 days ago1511236448IN
0x7814D781...bBd1CE74D
0.05118121 ETH0.00008424
Sweep45840472017-11-19 20:02:052670 days ago1511121725IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer45840372017-11-19 19:59:132670 days ago1511121553IN
0x7814D781...bBd1CE74D
0.05174385 ETH0.00008424
Sweep45780692017-11-18 21:05:232671 days ago1511039123IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer45780572017-11-18 21:02:042671 days ago1511038924IN
0x7814D781...bBd1CE74D
0.05206301 ETH0.00008424
Sweep45698452017-11-17 13:17:302673 days ago1510924650IN
0x7814D781...bBd1CE74D
0 ETH0.0009998620
Transfer45698362017-11-17 13:15:562673 days ago1510924556IN
0x7814D781...bBd1CE74D
0.05044872 ETH0.00008424
Sweep45588432017-11-15 18:42:272674 days ago1510771347IN
0x7814D781...bBd1CE74D
0 ETH0.0029995860
Transfer45586922017-11-15 18:09:532674 days ago1510769393IN
0x7814D781...bBd1CE74D
0.05093592 ETH0.00008424
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer46327202017-11-27 16:41:252662 days ago1511800885
0x7814D781...bBd1CE74D
0.05123111 ETH
Transfer46269732017-11-26 18:01:162663 days ago1511719276
0x7814D781...bBd1CE74D
0.05054163 ETH
Transfer46220082017-11-25 22:49:412664 days ago1511650181
0x7814D781...bBd1CE74D
0.05380337 ETH
Transfer46160972017-11-24 23:54:272665 days ago1511567667
0x7814D781...bBd1CE74D
0.0514377 ETH
Transfer46089852017-11-23 20:36:212666 days ago1511469381
0x7814D781...bBd1CE74D
0.05123179 ETH
Transfer46029662017-11-22 21:14:002667 days ago1511385240
0x7814D781...bBd1CE74D
0.05115027 ETH
Transfer45972632017-11-21 23:15:142668 days ago1511306114
0x7814D781...bBd1CE74D
0.05093075 ETH
Transfer45922812017-11-21 3:56:132669 days ago1511236573
0x7814D781...bBd1CE74D
0.05118121 ETH
Transfer45840472017-11-19 20:02:052670 days ago1511121725
0x7814D781...bBd1CE74D
0.05174385 ETH
Transfer45780692017-11-18 21:05:232671 days ago1511039123
0x7814D781...bBd1CE74D
0.05206301 ETH
Transfer45698452017-11-17 13:17:302673 days ago1510924650
0x7814D781...bBd1CE74D
0.05044873 ETH
Transfer45588432017-11-15 18:42:272674 days ago1510771347
0x7814D781...bBd1CE74D
0.05093593 ETH
Transfer45487182017-11-14 3:16:152676 days ago1510629375
0x7814D781...bBd1CE74D
0.05062406 ETH
Transfer45387842017-11-12 12:46:042678 days ago1510490764
0x7814D781...bBd1CE74D
0.05045788 ETH
Transfer45271202017-11-10 16:28:352679 days ago1510331315
0x7814D781...bBd1CE74D
0.05062921 ETH
Transfer44733662017-11-02 0:50:202688 days ago1509583820
0x7814D781...bBd1CE74D
0.05054276 ETH
Transfer42313262017-09-02 18:48:462748 days ago1504378126  Contract Creation0 ETH
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

API
[{"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.