ETH Price: $2,106.12 (+1.66%)
 

Overview

ETH Balance

0.000000002335109817 ETH

Eth Value

Less Than $0.01 (@ $2,106.12/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep117706852021-02-01 13:52:211884 days ago1612187541IN
0x3Cc19049...4f28Cb467
0 ETH0.01102794184.8
Sweep106320792020-08-10 12:13:092059 days ago1597061589IN
0x3Cc19049...4f28Cb467
0 ETH0.01042825183
Transfer106320562020-08-10 12:07:202059 days ago1597061240IN
0x3Cc19049...4f28Cb467
0.65252374 ETH0.00385233183
Sweep52237452018-03-09 10:04:072944 days ago1520589847IN
0x3Cc19049...4f28Cb467
0 ETH0.0024964550
Transfer52237082018-03-09 9:55:022944 days ago1520589302IN
0x3Cc19049...4f28Cb467
0.02530068 ETH0.000021051
Transfer51823822018-03-02 9:50:232951 days ago1519984223IN
0x3Cc19049...4f28Cb467
0.03790059 ETH0.000021051
Sweep51413602018-02-23 9:59:522958 days ago1519379992IN
0x3Cc19049...4f28Cb467
0 ETH0.0025028550
Transfer51413092018-02-23 9:49:262958 days ago1519379366IN
0x3Cc19049...4f28Cb467
0.04572234 ETH0.000021051
Transfer50999682018-02-16 9:43:352965 days ago1518774215IN
0x3Cc19049...4f28Cb467
0.04194164 ETH0.000021051
Sweep50583042018-02-09 9:46:482972 days ago1518169608IN
0x3Cc19049...4f28Cb467
0 ETH0.0045051390
Transfer50582762018-02-09 9:39:262972 days ago1518169166IN
0x3Cc19049...4f28Cb467
0.04077663 ETH0.000021051
Transfer50165202018-02-02 9:34:482979 days ago1517564088IN
0x3Cc19049...4f28Cb467
0.04730734 ETH0.000021051
Sweep49752152018-01-26 9:38:102986 days ago1516959490IN
0x3Cc19049...4f28Cb467
0 ETH0.0044993790
Transfer49751852018-01-26 9:31:172986 days ago1516959077IN
0x3Cc19049...4f28Cb467
0.05002079 ETH0.000021051
Sweep49371152018-01-19 22:26:522993 days ago1516400812IN
0x3Cc19049...4f28Cb467
0 ETH0.0044993790
Transfer49370792018-01-19 22:18:132993 days ago1516400293IN
0x3Cc19049...4f28Cb467
0.05000666 ETH0.000021051
Sweep49038572018-01-13 22:54:582999 days ago1515884098IN
0x3Cc19049...4f28Cb467
0 ETH0.0045051390
Transfer49038242018-01-13 22:47:022999 days ago1515883622IN
0x3Cc19049...4f28Cb467
0.0500189 ETH0.000021051
Transfer48713152018-01-07 22:33:393005 days ago1515364419IN
0x3Cc19049...4f28Cb467
0.01001044 ETH0.000021051
Transfer48308852017-12-31 16:34:373012 days ago1514738077IN
0x3Cc19049...4f28Cb467
0.02172449 ETH0.000021051
Sweep47894442017-12-24 16:41:463019 days ago1514133706IN
0x3Cc19049...4f28Cb467
0 ETH0.0025496451
Transfer47894102017-12-24 16:34:323019 days ago1514133272IN
0x3Cc19049...4f28Cb467
0.05001509 ETH0.000021051
Sweep47620882017-12-19 21:46:463024 days ago1513720006IN
0x3Cc19049...4f28Cb467
0 ETH0.002552951
Transfer47620462017-12-19 21:36:143024 days ago1513719374IN
0x3Cc19049...4f28Cb467
0.05003898 ETH0.000021051
Transfer47326602017-12-14 18:57:593029 days ago1513277879IN
0x3Cc19049...4f28Cb467
0.01005059 ETH0.000021051
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-106320792020-08-10 12:13:092059 days ago1597061589
0x3Cc19049...4f28Cb467
0.65252374 ETH
Transfer52237452018-03-09 10:04:072944 days ago1520589847
0x3Cc19049...4f28Cb467
0.06320128 ETH
Transfer51413602018-02-23 9:59:522958 days ago1519379992
0x3Cc19049...4f28Cb467
0.08766398 ETH
Transfer50583042018-02-09 9:46:482972 days ago1518169608
0x3Cc19049...4f28Cb467
0.08808398 ETH
Transfer49752152018-01-26 9:38:102986 days ago1516959490
0x3Cc19049...4f28Cb467
0.05002079 ETH
Transfer49371152018-01-19 22:26:522993 days ago1516400812
0x3Cc19049...4f28Cb467
0.05000667 ETH
Transfer49038572018-01-13 22:54:582999 days ago1515884098
0x3Cc19049...4f28Cb467
0.08175384 ETH
Transfer47894442017-12-24 16:41:463019 days ago1514133706
0x3Cc19049...4f28Cb467
0.0500151 ETH
Transfer47620882017-12-19 21:46:463024 days ago1513720006
0x3Cc19049...4f28Cb467
0.09761296 ETH
Transfer45208982017-11-09 16:30:553064 days ago1510245055
0x3Cc19049...4f28Cb467
0.09812919 ETH
Transfer42901702017-09-19 6:18:023115 days ago1505801882
0x3Cc19049...4f28Cb467
0.0980681 ETH
Transfer42417152017-09-05 17:20:253129 days ago1504632025
0x3Cc19049...4f28Cb467
0.09809536 ETH
Transfer41586592017-08-14 23:38:333151 days ago1502753913  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.