ETH Price: $2,035.82 (+3.21%)

Contract

0x2a1E771830a35E0501bAF6FEe6c5fc4B72bC8a99
 

Overview

ETH Balance

0.000000005292330652 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep53244452018-03-26 9:29:022926 days ago1522056542IN
0x2a1E7718...B72bC8a99
0 ETH0.0024996550
Transfer53244142018-03-26 9:22:252926 days ago1522056145IN
0x2a1E7718...B72bC8a99
3 ETH0.000052622.5
Sweep48947292018-01-12 6:31:422999 days ago1515738702IN
0x2a1E7718...B72bC8a99
0 ETH0.0045051390
Transfer48947022018-01-12 6:24:302999 days ago1515738270IN
0x2a1E7718...B72bC8a99
0.10462881 ETH0.0016840880
Sweep48844922018-01-10 9:19:473001 days ago1515575987IN
0x2a1E7718...B72bC8a99
0 ETH0.0045051390
Transfer48844522018-01-10 9:10:003001 days ago1515575400IN
0x2a1E7718...B72bC8a99
0.34490062 ETH0.0016840880
Sweep48782332018-01-09 5:13:403002 days ago1515474820IN
0x2a1E7718...B72bC8a99
0 ETH0.0045051390
Transfer48782052018-01-09 5:05:453002 days ago1515474345IN
0x2a1E7718...B72bC8a99
0.34401896 ETH0.0012630660
Sweep48726472018-01-08 4:29:053003 days ago1515385745IN
0x2a1E7718...B72bC8a99
0 ETH0.0037542775
Transfer48726092018-01-08 4:17:223003 days ago1515385042IN
0x2a1E7718...B72bC8a99
0.35171041 ETH0.0012630660
Sweep48673522018-01-07 5:24:243004 days ago1515302664IN
0x2a1E7718...B72bC8a99
0 ETH0.004986899.75
Transfer48673152018-01-07 5:14:323004 days ago1515302072IN
0x2a1E7718...B72bC8a99
0.36037285 ETH0.0012630660
Sweep48626392018-01-06 8:46:233005 days ago1515228383IN
0x2a1E7718...B72bC8a99
0 ETH0.00600684120
Transfer48626032018-01-06 8:37:193005 days ago1515227839IN
0x2a1E7718...B72bC8a99
0.35978873 ETH0.0021051100
Sweep48606912018-01-05 23:58:243005 days ago1515196704IN
0x2a1E7718...B72bC8a99
0 ETH0.0050057100
Transfer48606032018-01-05 23:35:063005 days ago1515195306IN
0x2a1E7718...B72bC8a99
0.35298844 ETH0.0021051100
Sweep48524482018-01-04 11:03:393007 days ago1515063819IN
0x2a1E7718...B72bC8a99
0 ETH0.002552951
Transfer48513702018-01-04 6:35:323007 days ago1515047732IN
0x2a1E7718...B72bC8a99
0.32860072 ETH0.0004420721
Sweep48456712018-01-03 5:27:583008 days ago1514957278IN
0x2a1E7718...B72bC8a99
0 ETH0.002552951
Transfer48456302018-01-03 5:17:143008 days ago1514956634IN
0x2a1E7718...B72bC8a99
0.33753447 ETH0.0004210220
Sweep48398292018-01-02 4:56:433009 days ago1514869003IN
0x2a1E7718...B72bC8a99
0 ETH0.002552951
Transfer48397962018-01-02 4:49:513009 days ago1514868591IN
0x2a1E7718...B72bC8a99
0.3284112 ETH0.0004210220
Sweep48338492018-01-01 4:38:023010 days ago1514781482IN
0x2a1E7718...B72bC8a99
0 ETH0.002552951
Transfer48338092018-01-01 4:28:053010 days ago1514780885IN
0x2a1E7718...B72bC8a99
0.32999966 ETH0.0004420721
Sweep48278882017-12-31 4:24:433011 days ago1514694283IN
0x2a1E7718...B72bC8a99
0 ETH0.002552951
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer53244452018-03-26 9:29:022926 days ago1522056542
0x2a1E7718...B72bC8a99
3 ETH
Transfer48947292018-01-12 6:31:422999 days ago1515738702
0x2a1E7718...B72bC8a99
0.10462882 ETH
Transfer48844922018-01-10 9:19:473001 days ago1515575987
0x2a1E7718...B72bC8a99
0.34490062 ETH
Transfer48782332018-01-09 5:13:403002 days ago1515474820
0x2a1E7718...B72bC8a99
0.34401896 ETH
Transfer48726472018-01-08 4:29:053003 days ago1515385745
0x2a1E7718...B72bC8a99
0.35171042 ETH
Transfer48673522018-01-07 5:24:243004 days ago1515302664
0x2a1E7718...B72bC8a99
0.36037285 ETH
Transfer48626392018-01-06 8:46:233005 days ago1515228383
0x2a1E7718...B72bC8a99
0.35978874 ETH
Transfer48606912018-01-05 23:58:243005 days ago1515196704
0x2a1E7718...B72bC8a99
0.35298844 ETH
Transfer48524482018-01-04 11:03:393007 days ago1515063819
0x2a1E7718...B72bC8a99
0.32860073 ETH
Transfer48456712018-01-03 5:27:583008 days ago1514957278
0x2a1E7718...B72bC8a99
0.33753447 ETH
Transfer48398292018-01-02 4:56:433009 days ago1514869003
0x2a1E7718...B72bC8a99
0.32841121 ETH
Transfer48338492018-01-01 4:38:023010 days ago1514781482
0x2a1E7718...B72bC8a99
0.32999966 ETH
Transfer48278882017-12-31 4:24:433011 days ago1514694283
0x2a1E7718...B72bC8a99
0.34409881 ETH
Transfer48224232017-12-30 6:06:183012 days ago1514613978
0x2a1E7718...B72bC8a99
0.34830569 ETH
Transfer48163582017-12-29 4:41:133013 days ago1514522473
0x2a1E7718...B72bC8a99
0.34050628 ETH
Transfer48105182017-12-28 4:41:513014 days ago1514436111
0x2a1E7718...B72bC8a99
0.356454 ETH
Transfer48043112017-12-27 3:52:543015 days ago1514346774
0x2a1E7718...B72bC8a99
0.34572614 ETH
Transfer47983482017-12-26 3:49:593016 days ago1514260199
0x2a1E7718...B72bC8a99
0.34538611 ETH
Transfer47923072017-12-25 3:50:053017 days ago1514173805
0x2a1E7718...B72bC8a99
0.35332917 ETH
Transfer47862752017-12-24 3:51:323018 days ago1514087492
0x2a1E7718...B72bC8a99
0.36219129 ETH
Transfer47803732017-12-23 3:51:183019 days ago1514001078
0x2a1E7718...B72bC8a99
0.37079656 ETH
Transfer47751422017-12-22 5:55:553020 days ago1513922155
0x2a1E7718...B72bC8a99
0.37246856 ETH
Transfer47698082017-12-21 6:53:003021 days ago1513839180
0x2a1E7718...B72bC8a99
0.37758461 ETH
Transfer47635672017-12-20 4:17:323022 days ago1513743452
0x2a1E7718...B72bC8a99
0.37273065 ETH
Transfer47581232017-12-19 4:49:023023 days ago1513658942
0x2a1E7718...B72bC8a99
0.3610764 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.