ETH Price: $1,958.03 (-2.09%)
 

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
Sweep79615542019-06-15 6:27:092453 days ago1560580029IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer79615402019-06-15 6:24:092453 days ago1560579849IN
0xf41C8DFf...446Ca4176
0.88958 ETH0.0010525550
Sweep78590072019-05-30 5:13:472469 days ago1559193227IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer78589842019-05-30 5:08:172469 days ago1559192897IN
0xf41C8DFf...446Ca4176
0.9147967 ETH0.0004210220
Sweep78138912019-05-23 4:31:132477 days ago1558585873IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer78138652019-05-23 4:26:322477 days ago1558585592IN
0xf41C8DFf...446Ca4176
2.515 ETH0.0008420440
Sweep77689112019-05-16 3:18:162484 days ago1557976696IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer77688932019-05-16 3:13:232484 days ago1557976403IN
0xf41C8DFf...446Ca4176
3.16282248 ETH0.0003157615
Sweep74962182019-04-03 16:00:522526 days ago1554307252IN
0xf41C8DFf...446Ca4176
0 ETH0.002332750
Sweep74912882019-04-02 21:09:382527 days ago1554239378IN
0xf41C8DFf...446Ca4176
0 ETH0.002332750
Sweep73940872019-03-18 16:52:092542 days ago1552927929IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer73940702019-03-18 16:49:262542 days ago1552927766IN
0xf41C8DFf...446Ca4176
5.04791564 ETH0.0008420440
Sweep73747622019-03-15 16:51:262545 days ago1552668686IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer73747402019-03-15 16:47:142545 days ago1552668434IN
0xf41C8DFf...446Ca4176
10.90514815 ETH0.000105255
Sweep73693292019-03-14 20:45:122546 days ago1552596312IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer73693092019-03-14 20:41:232546 days ago1552596083IN
0xf41C8DFf...446Ca4176
0.84144464 ETH0.0008420440
Sweep73624742019-03-13 19:12:022547 days ago1552504322IN
0xf41C8DFf...446Ca4176
0 ETH0.0024996550
Transfer73624512019-03-13 19:06:092547 days ago1552503969IN
0xf41C8DFf...446Ca4176
0.80227712 ETH0.00008424
Sweep71151102019-01-23 18:30:192596 days ago1548268219IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer71150922019-01-23 18:26:112596 days ago1548267971IN
0xf41C8DFf...446Ca4176
1.4609 ETH0.0004420721
Sweep70283162019-01-07 23:44:302612 days ago1546904670IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer70283012019-01-07 23:41:252612 days ago1546904485IN
0xf41C8DFf...446Ca4176
0.707788 ETH0.0004420721
Sweep69468432018-12-24 22:50:132626 days ago1545691813IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
Transfer69468302018-12-24 22:46:322626 days ago1545691592IN
0xf41C8DFf...446Ca4176
7.11876387 ETH0.0018524888
Sweep69284012018-12-21 19:48:292629 days ago1545421709IN
0xf41C8DFf...446Ca4176
0 ETH0.0025028550
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-79615542019-06-15 6:27:092453 days ago1560580029
0xf41C8DFf...446Ca4176
0.88958 ETH
-78590072019-05-30 5:13:472469 days ago1559193227
0xf41C8DFf...446Ca4176
0.9147967 ETH
-78138912019-05-23 4:31:132477 days ago1558585873
0xf41C8DFf...446Ca4176
2.515 ETH
-77689112019-05-16 3:18:162484 days ago1557976696
0xf41C8DFf...446Ca4176
3.16282248 ETH
-73940872019-03-18 16:52:092542 days ago1552927929
0xf41C8DFf...446Ca4176
5.04791564 ETH
-73747622019-03-15 16:51:262545 days ago1552668686
0xf41C8DFf...446Ca4176
10.90514815 ETH
-73693292019-03-14 20:45:122546 days ago1552596312
0xf41C8DFf...446Ca4176
0.84144464 ETH
-73624742019-03-13 19:12:022547 days ago1552504322
0xf41C8DFf...446Ca4176
0.80227712 ETH
-71151102019-01-23 18:30:192596 days ago1548268219
0xf41C8DFf...446Ca4176
1.4609 ETH
-70283162019-01-07 23:44:302612 days ago1546904670
0xf41C8DFf...446Ca4176
0.707788 ETH
-69468432018-12-24 22:50:132626 days ago1545691813
0xf41C8DFf...446Ca4176
7.11876387 ETH
-69284012018-12-21 19:48:292629 days ago1545421709
0xf41C8DFf...446Ca4176
7.12876387 ETH
-69227712018-12-20 20:50:232630 days ago1545339023
0xf41C8DFf...446Ca4176
0.99974444 ETH
-69216452018-12-20 16:15:122630 days ago1545322512
0xf41C8DFf...446Ca4176
2.42663389 ETH
-68739292018-12-12 16:21:052638 days ago1544631665
0xf41C8DFf...446Ca4176
36.00499292 ETH
Transfer67102152018-11-15 17:12:252665 days ago1542301945
0xf41C8DFf...446Ca4176
11.03223953 ETH
Transfer66196402018-10-31 20:34:442680 days ago1541018084
0xf41C8DFf...446Ca4176
2.6602425 ETH
Transfer61546992018-08-15 23:54:332757 days ago1534377273
0xf41C8DFf...446Ca4176
5.1 ETH
Transfer44787732017-11-02 21:55:163043 days ago1509659716  Contract Creation0 ETH
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.