ETH Price: $2,012.36 (+2.90%)
 

Overview

ETH Balance

0.011568868341290518 ETH

Eth Value

$23.28 (@ $2,012.36/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer71089932019-01-22 13:21:262596 days ago1548163286IN
0x3ba4e676...CB14A1b4C
0.01156885 ETH0.000021051
Sweep70705692019-01-15 13:25:152603 days ago1547558715IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer70705492019-01-15 13:21:302603 days ago1547558490IN
0x3ba4e676...CB14A1b4C
0.10009227 ETH0.000021051
Sweep70565782019-01-13 1:24:332606 days ago1547342673IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer70565592019-01-13 1:20:172606 days ago1547342417IN
0x3ba4e676...CB14A1b4C
0.1001038 ETH0.000021051
Sweep70425952019-01-10 13:17:592608 days ago1547126279IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer70425702019-01-10 13:11:012608 days ago1547125861IN
0x3ba4e676...CB14A1b4C
0.10020655 ETH0.000021051
Sweep70280382019-01-07 22:30:422611 days ago1546900242IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer70280152019-01-07 22:25:292611 days ago1546899929IN
0x3ba4e676...CB14A1b4C
0.10016205 ETH0.000021051
Sweep70139382019-01-05 10:21:222613 days ago1546683682IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer70139162019-01-05 10:14:112613 days ago1546683251IN
0x3ba4e676...CB14A1b4C
0.10005738 ETH0.000021051
Sweep70000072019-01-02 22:11:382616 days ago1546467098IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer69999912019-01-02 22:06:522616 days ago1546466812IN
0x3ba4e676...CB14A1b4C
0.100125 ETH0.000021051
Sweep69850992018-12-31 9:42:432618 days ago1546249363IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer69850842018-12-31 9:37:532618 days ago1546249073IN
0x3ba4e676...CB14A1b4C
0.10032425 ETH0.000021051
Sweep69713812018-12-29 2:11:282621 days ago1546049488IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer69713672018-12-29 2:07:202621 days ago1546049240IN
0x3ba4e676...CB14A1b4C
0.10013148 ETH0.000021051
Sweep69575682018-12-26 18:03:202623 days ago1545847400IN
0x3ba4e676...CB14A1b4C
0 ETH0.0024996550
Transfer69575532018-12-26 17:57:012623 days ago1545847021IN
0x3ba4e676...CB14A1b4C
0.10009856 ETH0.000021051
Transfer69439422018-12-24 11:11:472625 days ago1545649907IN
0x3ba4e676...CB14A1b4C
0.01007344 ETH0.000021051
Sweep68737942018-12-12 15:46:162637 days ago1544629576IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
Transfer68737672018-12-12 15:40:312637 days ago1544629231IN
0x3ba4e676...CB14A1b4C
0.10008902 ETH0.000021051
Sweep68609572018-12-10 13:01:462639 days ago1544446906IN
0x3ba4e676...CB14A1b4C
0 ETH0.0024996550
Transfer68609342018-12-10 12:55:292639 days ago1544446529IN
0x3ba4e676...CB14A1b4C
0.1000733 ETH0.000021051
Sweep68475182018-12-08 8:03:292641 days ago1544256209IN
0x3ba4e676...CB14A1b4C
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70705692019-01-15 13:25:152603 days ago1547558715
0x3ba4e676...CB14A1b4C
0.10009227 ETH
-70565782019-01-13 1:24:332606 days ago1547342673
0x3ba4e676...CB14A1b4C
0.1001038 ETH
-70425952019-01-10 13:17:592608 days ago1547126279
0x3ba4e676...CB14A1b4C
0.10020656 ETH
-70280382019-01-07 22:30:422611 days ago1546900242
0x3ba4e676...CB14A1b4C
0.10016206 ETH
-70139382019-01-05 10:21:222613 days ago1546683682
0x3ba4e676...CB14A1b4C
0.10005738 ETH
-70000072019-01-02 22:11:382616 days ago1546467098
0x3ba4e676...CB14A1b4C
0.10012501 ETH
-69850992018-12-31 9:42:432618 days ago1546249363
0x3ba4e676...CB14A1b4C
0.10032425 ETH
-69713812018-12-29 2:11:282621 days ago1546049488
0x3ba4e676...CB14A1b4C
0.10013149 ETH
-69575682018-12-26 18:03:202623 days ago1545847400
0x3ba4e676...CB14A1b4C
0.11017201 ETH
-68737942018-12-12 15:46:162637 days ago1544629576
0x3ba4e676...CB14A1b4C
0.10008902 ETH
-68609572018-12-10 13:01:462639 days ago1544446906
0x3ba4e676...CB14A1b4C
0.1000733 ETH
-68475182018-12-08 8:03:292641 days ago1544256209
0x3ba4e676...CB14A1b4C
0.10020279 ETH
-68341582018-12-06 2:43:042643 days ago1544064184
0x3ba4e676...CB14A1b4C
0.10008547 ETH
-68202242018-12-03 19:34:532646 days ago1543865693
0x3ba4e676...CB14A1b4C
0.10008485 ETH
-68060602018-12-01 11:02:452648 days ago1543662165
0x3ba4e676...CB14A1b4C
0.10010922 ETH
Transfer67920802018-11-29 3:47:152650 days ago1543463235
0x3ba4e676...CB14A1b4C
0.1002467 ETH
Transfer67770762018-11-26 16:12:032653 days ago1543248723
0x3ba4e676...CB14A1b4C
0.10016976 ETH
Transfer67616242018-11-24 3:30:332655 days ago1543030233
0x3ba4e676...CB14A1b4C
0.10006505 ETH
Transfer67456962018-11-21 12:58:392658 days ago1542805119
0x3ba4e676...CB14A1b4C
0.10012015 ETH
Transfer67286282018-11-18 17:16:182661 days ago1542561378
0x3ba4e676...CB14A1b4C
0.10009699 ETH
Transfer67113452018-11-15 21:39:422664 days ago1542317982
0x3ba4e676...CB14A1b4C
0.10013248 ETH
Transfer66938162018-11-13 0:32:392667 days ago1542069159
0x3ba4e676...CB14A1b4C
0.10010316 ETH
Transfer66758582018-11-10 2:23:192669 days ago1541816599
0x3ba4e676...CB14A1b4C
0.10013392 ETH
Transfer66584632018-11-07 5:54:462672 days ago1541570086
0x3ba4e676...CB14A1b4C
0.10010751 ETH
Transfer66410672018-11-04 9:03:242675 days ago1541322204
0x3ba4e676...CB14A1b4C
0.10001454 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.