ETH Price: $2,142.51 (+3.96%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep101769342020-06-01 0:58:172130 days ago1590973097IN
0x04Bb191F...Aa60f1305
0 ETH0.0016738530
Sweep99774512020-05-01 1:50:402161 days ago1588297840IN
0x04Bb191F...Aa60f1305
0 ETH0.0012274922
Sweep97434962020-03-25 23:40:422197 days ago1585179642IN
0x04Bb191F...Aa60f1305
0 ETH0.0012274922
Sweep95643182020-02-27 7:22:402224 days ago1582788160IN
0x04Bb191F...Aa60f1305
0 ETH0.0012274922
Sweep93685352020-01-28 5:06:222255 days ago1580187982IN
0x04Bb191F...Aa60f1305
0 ETH0.0012274922
Sweep91634312019-12-26 1:16:542288 days ago1577323014IN
0x04Bb191F...Aa60f1305
0 ETH0.0012274922
Sweep89802332019-11-22 11:46:472321 days ago1574423207IN
0x04Bb191F...Aa60f1305
0 ETH0.0010396922
Sweep60864152018-08-04 11:04:052796 days ago1533380645IN
0x04Bb191F...Aa60f1305
0 ETH0.0050057100
Transfer60863972018-08-04 11:00:002796 days ago1533380400IN
0x04Bb191F...Aa60f1305
0.042648 ETH0.00004422.1
Transfer60621222018-07-31 8:33:232800 days ago1533026003IN
0x04Bb191F...Aa60f1305
0.04134387 ETH0.000066313.15
Sweep60193072018-07-24 2:53:332808 days ago1532400813IN
0x04Bb191F...Aa60f1305
0 ETH0.0050121100
Transfer60192672018-07-24 2:43:492808 days ago1532400229IN
0x04Bb191F...Aa60f1305
28 ETH0.0002105110
Transfer60157612018-07-23 12:20:482808 days ago1532348448IN
0x04Bb191F...Aa60f1305
0.0416125 ETH0.0002873413.65
Sweep56302602018-05-17 16:47:082875 days ago1526575628IN
0x04Bb191F...Aa60f1305
0 ETH0.0025028550
Transfer56302042018-05-17 16:35:582875 days ago1526574958IN
0x04Bb191F...Aa60f1305
0.08649644 ETH0.0002715512.9
Sweep55663962018-05-06 13:19:412886 days ago1525612781IN
0x04Bb191F...Aa60f1305
0 ETH0.0025028550
Transfer55663302018-05-06 13:02:452886 days ago1525611765IN
0x04Bb191F...Aa60f1305
0.19631645 ETH0.000094724.5
Sweep55566572018-05-04 20:30:402888 days ago1525465840IN
0x04Bb191F...Aa60f1305
0 ETH0.0025028550
Transfer55565842018-05-04 20:11:252888 days ago1525464685IN
0x04Bb191F...Aa60f1305
0.11452165 ETH0.000178938.5
Transfer55496712018-05-03 14:54:202889 days ago1525359260IN
0x04Bb191F...Aa60f1305
0.04085199 ETH0.000136836.5
Sweep55150662018-04-27 13:35:092895 days ago1524836109IN
0x04Bb191F...Aa60f1305
0 ETH0.0025028550
Transfer55150472018-04-27 13:29:442895 days ago1524835784IN
0x04Bb191F...Aa60f1305
0.04185344 ETH0.00008634.1
Transfer54907092018-04-23 8:18:122899 days ago1524471492IN
0x04Bb191F...Aa60f1305
0.04566128 ETH0.00004422.1
Sweep54574872018-04-17 15:30:202905 days ago1523979020IN
0x04Bb191F...Aa60f1305
0 ETH0.0025028550
Transfer54574552018-04-17 15:20:272905 days ago1523978427IN
0x04Bb191F...Aa60f1305
0.07690767 ETH0.000065253.1
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer60864152018-08-04 11:04:052796 days ago1533380645
0x04Bb191F...Aa60f1305
0.08399188 ETH
Transfer60193072018-07-24 2:53:332808 days ago1532400813
0x04Bb191F...Aa60f1305
28.0416125 ETH
Transfer56302602018-05-17 16:47:082875 days ago1526575628
0x04Bb191F...Aa60f1305
0.08649644 ETH
Transfer55663962018-05-06 13:19:412886 days ago1525612781
0x04Bb191F...Aa60f1305
0.19631645 ETH
Transfer55566572018-05-04 20:30:402888 days ago1525465840
0x04Bb191F...Aa60f1305
0.15537364 ETH
Transfer55150662018-04-27 13:35:092895 days ago1524836109
0x04Bb191F...Aa60f1305
0.08751472 ETH
Transfer54574872018-04-17 15:30:202905 days ago1523979020
0x04Bb191F...Aa60f1305
0.07690767 ETH
Transfer53893272018-04-06 5:19:512917 days ago1522991991
0x04Bb191F...Aa60f1305
0.075638 ETH
Transfer53866342018-04-05 19:01:112917 days ago1522954871
0x04Bb191F...Aa60f1305
0.076715 ETH
Transfer52803592018-03-19 0:55:052935 days ago1521420905
0x04Bb191F...Aa60f1305
0.07690403 ETH
Transfer50611642018-02-09 21:22:262972 days ago1518211346
0x04Bb191F...Aa60f1305
0.07549444 ETH
Transfer50301662018-02-04 16:27:272977 days ago1517761647
0x04Bb191F...Aa60f1305
0.0779718 ETH
Transfer49698062018-01-25 11:47:012987 days ago1516880821
0x04Bb191F...Aa60f1305
0.07695414 ETH
Transfer49449462018-01-21 6:44:252991 days ago1516517065
0x04Bb191F...Aa60f1305
0.07971605 ETH
Transfer49102802018-01-15 2:30:512998 days ago1515983451
0x04Bb191F...Aa60f1305
0.0812174 ETH
Transfer49014442018-01-13 12:09:152999 days ago1515845355
0x04Bb191F...Aa60f1305
0.08099923 ETH
Transfer48308062017-12-31 16:16:073012 days ago1514736967
0x04Bb191F...Aa60f1305
0.0798355 ETH
Transfer48013742017-12-26 15:53:553017 days ago1514303635
0x04Bb191F...Aa60f1305
0.07915196 ETH
Transfer47732532017-12-21 21:45:133022 days ago1513892713
0x04Bb191F...Aa60f1305
0.05260359 ETH
Transfer47391412017-12-15 21:42:173028 days ago1513374137
0x04Bb191F...Aa60f1305
0.05680314 ETH
Transfer47266972017-12-13 17:34:323030 days ago1513186472
0x04Bb191F...Aa60f1305
0.05116139 ETH
Transfer47115682017-12-11 2:06:173033 days ago1512957977
0x04Bb191F...Aa60f1305
0.05160885 ETH
Transfer47111512017-12-11 0:22:373033 days ago1512951757
0x04Bb191F...Aa60f1305
0.0522473 ETH
Transfer46641632017-12-02 20:06:103041 days ago1512245170
0x04Bb191F...Aa60f1305
0.0502562 ETH
Transfer46580142017-12-01 19:54:483042 days ago1512158088
0x04Bb191F...Aa60f1305
0.121 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.