ETH Price: $1,891.22 (+3.28%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep138374392021-12-19 19:19:191528 days ago1639941559IN
0x2042044f...e5eA0B6Af
0 ETH0.0059491580.07046432
Sweep138082882021-12-15 7:10:181533 days ago1639552218IN
0x2042044f...e5eA0B6Af
0 ETH0.005383572.46895228
Sweep138081312021-12-15 6:34:311533 days ago1639550071IN
0x2042044f...e5eA0B6Af
0 ETH0.0069097893.01479156
Sweep137381132021-12-04 5:49:071544 days ago1638596947IN
0x2042044f...e5eA0B6Af
0 ETH0.0282865500
Transfer137380622021-12-04 5:37:111544 days ago1638596231IN
0x2042044f...e5eA0B6Af
11.2 ETH0.021473251,020.05850294
Sweep137311872021-12-03 3:15:011545 days ago1638501301IN
0x2042044f...e5eA0B6Af
0 ETH0.0060360881.24042217
Sweep136833002021-11-25 11:52:391552 days ago1637841159IN
0x2042044f...e5eA0B6Af
0 ETH0.00786898105.90971598
Sweep136680552021-11-23 1:47:201555 days ago1637632040IN
0x2042044f...e5eA0B6Af
0 ETH0.01074288144.58989657
Sweep136179802021-11-15 3:29:521563 days ago1636946992IN
0x2042044f...e5eA0B6Af
0 ETH0.00750395132.64202632
Transfer136179572021-11-15 3:24:591563 days ago1636946699IN
0x2042044f...e5eA0B6Af
10.2 ETH0.00353656168
Sweep135625962021-11-06 11:02:521571 days ago1636196572IN
0x2042044f...e5eA0B6Af
0 ETH0.0068919592.75968881
Sweep135567332021-11-05 13:03:281572 days ago1636117408IN
0x2042044f...e5eA0B6Af
0 ETH0.01071956144.27604693
Sweep135411942021-11-03 2:16:001575 days ago1635905760IN
0x2042044f...e5eA0B6Af
0 ETH0.01394653187.73860381
Sweep135336512021-11-01 21:42:181576 days ago1635802938IN
0x2042044f...e5eA0B6Af
0 ETH0.01403273188.89891641
Sweep134928472021-10-26 11:55:241582 days ago1635249324IN
0x2042044f...e5eA0B6Af
0 ETH0.0064309186.55453104
Sweep134553462021-10-20 15:13:451588 days ago1634742825IN
0x2042044f...e5eA0B6Af
0 ETH0.01525318205.29465586
Sweep134489552021-10-19 15:16:431589 days ago1634656603IN
0x2042044f...e5eA0B6Af
0 ETH0.0064171386.36903723
Sweep134199762021-10-15 2:23:021594 days ago1634264582IN
0x2042044f...e5eA0B6Af
0 ETH0.01184378159.432839
Sweep134198392021-10-15 1:52:431594 days ago1634262763IN
0x2042044f...e5eA0B6Af
0 ETH0.0163024219.45161076
Sweep134185932021-10-14 21:01:431594 days ago1634245303IN
0x2042044f...e5eA0B6Af
0 ETH0.01222033164.47503078
Sweep133844772021-10-09 12:14:241599 days ago1633781664IN
0x2042044f...e5eA0B6Af
0 ETH0.0045953261.85908338
Sweep133740492021-10-07 20:49:531601 days ago1633639793IN
0x2042044f...e5eA0B6Af
0 ETH0.00855895151.22629666
Transfer133740362021-10-07 20:45:361601 days ago1633639536IN
0x2042044f...e5eA0B6Af
31.38493385 ETH0.0020516597.46114107
Sweep133643112021-10-06 8:15:511602 days ago1633508151IN
0x2042044f...e5eA0B6Af
0 ETH0.01256358169.09487709
Sweep133536812021-10-04 16:35:091604 days ago1633365309IN
0x2042044f...e5eA0B6Af
0 ETH0.02437378328.05
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-137381132021-12-04 5:49:071544 days ago1638596947
0x2042044f...e5eA0B6Af
11.2 ETH
-136179802021-11-15 3:29:521563 days ago1636946992
0x2042044f...e5eA0B6Af
10.2 ETH
-133740492021-10-07 20:49:531601 days ago1633639793
0x2042044f...e5eA0B6Af
31.38493385 ETH
-131424162021-09-01 22:19:371637 days ago1630534777
0x2042044f...e5eA0B6Af
8.24 ETH
-131204462021-08-29 12:46:521640 days ago1630241212
0x2042044f...e5eA0B6Af
3.53 ETH
-131189232021-08-29 7:05:361641 days ago1630220736
0x2042044f...e5eA0B6Af
3.74 ETH
-130832772021-08-23 18:51:531646 days ago1629744713
0x2042044f...e5eA0B6Af
3.6565 ETH
-130603582021-08-20 5:43:251650 days ago1629438205
0x2042044f...e5eA0B6Af
23.2963421 ETH
-130602902021-08-20 5:31:511650 days ago1629437511
0x2042044f...e5eA0B6Af
20.89634021 ETH
-130601502021-08-20 5:01:581650 days ago1629435718
0x2042044f...e5eA0B6Af
22.3 ETH
-130570092021-08-19 17:16:421650 days ago1629393402
0x2042044f...e5eA0B6Af
20.09455665 ETH
-130569572021-08-19 17:02:491650 days ago1629392569
0x2042044f...e5eA0B6Af
17.59224986 ETH
-124917062021-05-23 16:38:291738 days ago1621787909
0x2042044f...e5eA0B6Af
15.9 ETH
-124770872021-05-21 10:09:371740 days ago1621591777
0x2042044f...e5eA0B6Af
15.59563179 ETH
-124683432021-05-20 1:44:001742 days ago1621475040
0x2042044f...e5eA0B6Af
9.73 ETH
-124658892021-05-19 16:22:411742 days ago1621441361
0x2042044f...e5eA0B6Af
8.56 ETH
-124658152021-05-19 16:06:061742 days ago1621440366
0x2042044f...e5eA0B6Af
9.44 ETH
-124656972021-05-19 15:40:161742 days ago1621438816
0x2042044f...e5eA0B6Af
11.8 ETH
-124655872021-05-19 15:15:481742 days ago1621437348
0x2042044f...e5eA0B6Af
10.1 ETH
-124467802021-05-16 17:16:321745 days ago1621185392
0x2042044f...e5eA0B6Af
13.5 ETH
-124425182021-05-16 1:14:271746 days ago1621127667
0x2042044f...e5eA0B6Af
11.4 ETH
-124393992021-05-15 14:06:561746 days ago1621087616
0x2042044f...e5eA0B6Af
8.4183 ETH
-124375192021-05-15 7:05:551747 days ago1621062355
0x2042044f...e5eA0B6Af
11.397 ETH
-124373952021-05-15 6:42:011747 days ago1621060921
0x2042044f...e5eA0B6Af
7.1883 ETH
-124362872021-05-15 2:25:331747 days ago1621045533
0x2042044f...e5eA0B6Af
10.38919674 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.