ETH Price: $3,650.24 (+2.00%)

Contract

0x2B1ec9D0f9d2A42C776938c1Fa846Abc54F6fEd9
 

Overview

ETH Balance

0.000000001775591274 ETH

Eth Value

Less Than $0.01 (@ $3,650.24/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep173462312023-05-26 22:27:47553 days ago1685140067IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0018233432.22319005
Transfer173462182023-05-26 22:25:11553 days ago1685139911IN
0x2B1ec9D0...c54F6fEd9
0.33263674 ETH0.0006089928.92942804
Sweep156759292022-10-04 16:22:11787 days ago1664900531IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0016971930
Transfer156759122022-10-04 16:18:47787 days ago1664900327IN
0x2B1ec9D0...c54F6fEd9
0.1 ETH0.0003803918.07022714
Sweep127225212021-06-28 12:28:171250 days ago1624883297IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0016971930
Transfer127225082021-06-28 12:25:191250 days ago1624883119IN
0x2B1ec9D0...c54F6fEd9
0.3 ETH0.0004841723
Transfer127225022021-06-28 12:23:551250 days ago1624883035IN
0x2B1ec9D0...c54F6fEd9
0.3 ETH0.00048323
Sweep125864882021-06-07 9:01:561271 days ago1623056516IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0016975530
Transfer125864712021-06-07 8:57:231271 days ago1623056243IN
0x2B1ec9D0...c54F6fEd9
0.09836 ETH0.0002547112.1
Sweep125030672021-05-25 10:57:221284 days ago1621940242IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.004569471.30000167
Sweep124763892021-05-21 7:36:101288 days ago1621582570IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0026029146
Transfer124763632021-05-21 7:30:441288 days ago1621582244IN
0x2B1ec9D0...c54F6fEd9
0.10121 ETH0.0011367554
Sweep124379302021-05-15 8:37:061294 days ago1621067826IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0051396590.85
Transfer124379152021-05-15 8:34:361294 days ago1621067676IN
0x2B1ec9D0...c54F6fEd9
0.18584 ETH0.0018461787.7
Sweep122360792021-04-14 4:32:591326 days ago1618374779IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.00589794103.5
Transfer122360582021-04-14 4:29:011326 days ago1618374541IN
0x2B1ec9D0...c54F6fEd9
0.28862 ETH0.00237876113
Sweep122358682021-04-14 3:46:191326 days ago1618371979IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.00720708126.5
Transfer122358522021-04-14 3:42:591326 days ago1618371779IN
0x2B1ec9D0...c54F6fEd9
0.09 ETH0.00237876113
Sweep121845802021-04-06 6:48:001333 days ago1617691680IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.00633103111.1
Transfer121845612021-04-06 6:42:381333 days ago1617691358IN
0x2B1ec9D0...c54F6fEd9
0.41745297 ETH0.0020840499
Sweep115931292021-01-05 7:22:371424 days ago1609831357IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0044748781.84191416
Sweep103624622020-06-29 19:03:271614 days ago1593457407IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0023784443.49999923
Sweep103624622020-06-29 19:03:271614 days ago1593457407IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0024783243.49999923
Transfer103624382020-06-29 18:56:161614 days ago1593456976IN
0x2B1ec9D0...c54F6fEd9
0.049 ETH0.0007367835
Sweep103241102020-06-23 20:10:131620 days ago1592943013IN
0x2B1ec9D0...c54F6fEd9
0 ETH0.0017223231.5
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
173462312023-05-26 22:27:47553 days ago1685140067
0x2B1ec9D0...c54F6fEd9
0.33263675 ETH
156759292022-10-04 16:22:11787 days ago1664900531
0x2B1ec9D0...c54F6fEd9
0.1 ETH
127225212021-06-28 12:28:171250 days ago1624883297
0x2B1ec9D0...c54F6fEd9
0.3 ETH
125864882021-06-07 9:01:561271 days ago1623056516
0x2B1ec9D0...c54F6fEd9
0.09836 ETH
124763892021-05-21 7:36:101288 days ago1621582570
0x2B1ec9D0...c54F6fEd9
0.10121 ETH
124379302021-05-15 8:37:061294 days ago1621067826
0x2B1ec9D0...c54F6fEd9
0.18584 ETH
122360792021-04-14 4:32:591326 days ago1618374779
0x2B1ec9D0...c54F6fEd9
0.28862 ETH
122358682021-04-14 3:46:191326 days ago1618371979
0x2B1ec9D0...c54F6fEd9
0.09 ETH
121845802021-04-06 6:48:001333 days ago1617691680
0x2B1ec9D0...c54F6fEd9
0.41745298 ETH
103624622020-06-29 19:03:271614 days ago1593457407
0x2B1ec9D0...c54F6fEd9
0.098 ETH
102740262020-06-16 2:00:271628 days ago1592272827
0x2B1ec9D0...c54F6fEd9
0.09280171 ETH
102487082020-06-12 4:23:171632 days ago1591935797
0x2B1ec9D0...c54F6fEd9
0.05168755 ETH
102233012020-06-08 5:40:171635 days ago1591594817
0x2B1ec9D0...c54F6fEd9
0.0510492 ETH
102059392020-06-05 13:17:321638 days ago1591363052
0x2B1ec9D0...c54F6fEd9
0.18904211 ETH
101683712020-05-30 17:06:241644 days ago1590858384
0x2B1ec9D0...c54F6fEd9
0.22 ETH
99049342020-04-19 20:16:271685 days ago1587327387
0x2B1ec9D0...c54F6fEd9
0.1 ETH
98235952020-04-07 7:19:271697 days ago1586243967
0x2B1ec9D0...c54F6fEd9
0.0534 ETH
97943322020-04-02 19:06:451702 days ago1585854405
0x2B1ec9D0...c54F6fEd9
0.22 ETH
95317422020-02-22 7:15:151742 days ago1582355715
0x2B1ec9D0...c54F6fEd9
0.052 ETH
73421712019-03-10 15:14:512091 days ago1552230891
0x2B1ec9D0...c54F6fEd9
1.47 ETH
72981172019-03-03 18:16:012098 days ago1551636961
0x2B1ec9D0...c54F6fEd9
0.5 ETH
60812292018-08-03 14:27:072310 days ago1533306427
0x2B1ec9D0...c54F6fEd9
0.94 ETH
54822172018-04-21 21:33:052414 days ago1524346385
0x2B1ec9D0...c54F6fEd9
0.61054804 ETH
53473232018-03-30 6:06:572436 days ago1522390017
0x2B1ec9D0...c54F6fEd9
0.91062498 ETH
49603372018-01-23 21:37:252502 days ago1516743445  Contract Creation0 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.