ETH Price: $2,044.65 (-4.39%)
Gas: 0.1 Gwei

Contract

0x0835d8F7df4445cCF5da91E117Cff6EDAc8D986B
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep185541912023-11-12 6:56:59845 days ago1699772219IN
0x0835d8F7...DAc8D986B
0 ETH0.0018619530
Sweep185540802023-11-12 6:34:47845 days ago1699770887IN
0x0835d8F7...DAc8D986B
0 ETH0.0018615930
Sweep185290212023-11-08 18:27:11848 days ago1699468031IN
0x0835d8F7...DAc8D986B
0 ETH0.004556853.01075739
Sweep184492542023-10-28 14:20:11859 days ago1698502811IN
0x0835d8F7...DAc8D986B
0 ETH0.0025791630
Sweep184191682023-10-24 9:16:35864 days ago1698138995IN
0x0835d8F7...DAc8D986B
0 ETH0.0025791630
Sweep184190692023-10-24 8:56:35864 days ago1698137795IN
0x0835d8F7...DAc8D986B
0 ETH0.0025791630
Sweep184189492023-10-24 8:32:23864 days ago1698136343IN
0x0835d8F7...DAc8D986B
0 ETH0.0025791630
Sweep183774412023-10-18 13:09:35869 days ago1697634575IN
0x0835d8F7...DAc8D986B
0 ETH0.0021260730
Sweep183773982023-10-18 13:00:47869 days ago1697634047IN
0x0835d8F7...DAc8D986B
0 ETH0.0021260730
Sweep182910382023-10-06 11:03:47882 days ago1696590227IN
0x0835d8F7...DAc8D986B
0 ETH0.0022286130
Sweep181405702023-09-15 8:56:11903 days ago1694768171IN
0x0835d8F7...DAc8D986B
0 ETH0.0019471830
Sweep179990722023-08-26 13:15:11922 days ago1693055711IN
0x0835d8F7...DAc8D986B
0 ETH0.0018997830
Sweep179987002023-08-26 12:00:11923 days ago1693051211IN
0x0835d8F7...DAc8D986B
0 ETH0.0018997830
Sweep179986242023-08-26 11:44:59923 days ago1693050299IN
0x0835d8F7...DAc8D986B
0 ETH0.0018997830
Sweep179070442023-08-13 16:11:11935 days ago1691943071IN
0x0835d8F7...DAc8D986B
0 ETH0.0020003630.82505698
Sweep178993402023-08-12 14:21:11936 days ago1691850071IN
0x0835d8F7...DAc8D986B
0 ETH0.0019468230
Sweep178855012023-08-10 15:52:35938 days ago1691682755IN
0x0835d8F7...DAc8D986B
0 ETH0.001943130
Sweep178174682023-08-01 3:28:23948 days ago1690860503IN
0x0835d8F7...DAc8D986B
0 ETH0.0018774330
Sweep178025212023-07-30 1:18:35950 days ago1690679915IN
0x0835d8F7...DAc8D986B
0 ETH0.0025791630
Sweep177256082023-07-19 6:59:35961 days ago1689749975IN
0x0835d8F7...DAc8D986B
0 ETH0.0020116230
Sweep177172702023-07-18 2:53:23962 days ago1689648803IN
0x0835d8F7...DAc8D986B
0 ETH0.0019468230
Sweep175828572023-06-29 5:23:47981 days ago1688016227IN
0x0835d8F7...DAc8D986B
0 ETH0.0022282530
Sweep175330282023-06-22 5:16:23988 days ago1687410983IN
0x0835d8F7...DAc8D986B
0 ETH0.0018994230
Sweep175329852023-06-22 5:07:47988 days ago1687410467IN
0x0835d8F7...DAc8D986B
0 ETH0.0018997830
Sweep175326012023-06-22 3:50:23988 days ago1687405823IN
0x0835d8F7...DAc8D986B
0 ETH0.0018997830
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-146599212022-04-26 11:35:211410 days ago1650972921
0x0835d8F7...DAc8D986B
4.998 ETH
-146269592022-04-21 7:24:101415 days ago1650525850
0x0835d8F7...DAc8D986B
3.498 ETH
-134091462021-10-13 9:07:471605 days ago1634116067
0x0835d8F7...DAc8D986B
7.996 ETH
-133080132021-09-27 13:22:341620 days ago1632748954
0x0835d8F7...DAc8D986B
3.80456017 ETH
-132793682021-09-23 2:44:161625 days ago1632365056
0x0835d8F7...DAc8D986B
6 ETH
-131176252021-08-29 2:13:391650 days ago1630203219
0x0835d8F7...DAc8D986B
3.84762915 ETH
-126936772021-06-24 0:27:141716 days ago1624494434
0x0835d8F7...DAc8D986B
10 ETH
-126426362021-06-16 1:43:441724 days ago1623807824
0x0835d8F7...DAc8D986B
5.03958 ETH
-124113492021-05-11 5:53:191760 days ago1620712399
0x0835d8F7...DAc8D986B
2.993 ETH
-120081722021-03-10 2:51:041822 days ago1615344664
0x0835d8F7...DAc8D986B
7.79774833 ETH
-118225702021-02-09 13:38:341850 days ago1612877914
0x0835d8F7...DAc8D986B
1.93399417 ETH
-118225422021-02-09 13:34:121850 days ago1612877652
0x0835d8F7...DAc8D986B
3.64031553 ETH
-118224682021-02-09 13:14:471850 days ago1612876487
0x0835d8F7...DAc8D986B
1.18043568 ETH
-118224502021-02-09 13:12:081850 days ago1612876328
0x0835d8F7...DAc8D986B
3.60043413 ETH
-118222872021-02-09 12:38:331850 days ago1612874313
0x0835d8F7...DAc8D986B
1.02592289 ETH
-118222552021-02-09 12:33:031851 days ago1612873983
0x0835d8F7...DAc8D986B
2.01174781 ETH
-95400412020-02-23 13:58:052202 days ago1582466285
0x0835d8F7...DAc8D986B
11.014 ETH
-95394052020-02-23 11:41:182203 days ago1582458078
0x0835d8F7...DAc8D986B
9.997 ETH
-94820042020-02-14 15:39:532211 days ago1581694793
0x0835d8F7...DAc8D986B
7.3 ETH
-87312152019-10-13 5:08:542336 days ago1570943334
0x0835d8F7...DAc8D986B
10.09 ETH
-87309332019-10-13 4:07:052336 days ago1570939625
0x0835d8F7...DAc8D986B
6.7 ETH
-86663012019-10-03 1:20:012346 days ago1570065601
0x0835d8F7...DAc8D986B
3.995 ETH
-84378832019-08-28 9:36:212382 days ago1566984981
0x0835d8F7...DAc8D986B
4 ETH
-82941182019-08-06 1:30:542404 days ago1565055054
0x0835d8F7...DAc8D986B
14.997 ETH
-82940882019-08-06 1:23:202404 days ago1565054600
0x0835d8F7...DAc8D986B
6.5 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
0x0835d8F7df4445cCF5da91E117Cff6EDAc8D986B
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.