ETH Price: $2,042.77 (-2.13%)

Contract

0x2e225eeD9F432c3C8A5aF31234fB4E13E6efB5d9
 

Overview

ETH Balance

0.018705277842447807 ETH

Eth Value

$38.21 (@ $2,042.77/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer70682942019-01-15 3:21:572623 days ago1547522517IN
0x2e225eeD...3E6efB5d9
0.01870527 ETH0.000021051
Sweep70291032019-01-08 3:15:002630 days ago1546917300IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer70290842019-01-08 3:10:282630 days ago1546917028IN
0x2e225eeD...3E6efB5d9
0.05007753 ETH0.000021051
Sweep70170962019-01-05 23:39:332633 days ago1546731573IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer70170762019-01-05 23:33:172633 days ago1546731197IN
0x2e225eeD...3E6efB5d9
0.05008051 ETH0.000021051
Sweep70053972019-01-03 21:21:052635 days ago1546550465IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer70053842019-01-03 21:17:422635 days ago1546550262IN
0x2e225eeD...3E6efB5d9
0.05004696 ETH0.000021051
Sweep69941762019-01-01 22:41:042637 days ago1546382464IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69941522019-01-01 22:36:192637 days ago1546382179IN
0x2e225eeD...3E6efB5d9
0.05006355 ETH0.000021051
Sweep69827102018-12-31 0:03:242639 days ago1546214604IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69826922018-12-30 23:59:422639 days ago1546214382IN
0x2e225eeD...3E6efB5d9
0.05011467 ETH0.000021051
Sweep69713812018-12-29 2:11:282640 days ago1546049488IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69713672018-12-29 2:07:202640 days ago1546049240IN
0x2e225eeD...3E6efB5d9
0.05001992 ETH0.000021051
Sweep69600352018-12-27 4:15:052642 days ago1545884105IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69600172018-12-27 4:10:312642 days ago1545883831IN
0x2e225eeD...3E6efB5d9
0.05004493 ETH0.000021051
Sweep69484982018-12-25 5:34:272644 days ago1545716067IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024964550
Transfer69484782018-12-25 5:29:412644 days ago1545715781IN
0x2e225eeD...3E6efB5d9
0.05005208 ETH0.000021051
Sweep69378372018-12-23 10:22:312646 days ago1545560551IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69378202018-12-23 10:18:192646 days ago1545560299IN
0x2e225eeD...3E6efB5d9
0.05001068 ETH0.000021051
Sweep69272182018-12-21 14:53:482648 days ago1545404028IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69272012018-12-21 14:49:532648 days ago1545403793IN
0x2e225eeD...3E6efB5d9
0.05000411 ETH0.000021051
Sweep69168542018-12-19 20:29:332650 days ago1545251373IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69168362018-12-19 20:24:442650 days ago1545251084IN
0x2e225eeD...3E6efB5d9
0.05010835 ETH0.000021051
Sweep69067572018-12-18 3:11:412651 days ago1545102701IN
0x2e225eeD...3E6efB5d9
0 ETH0.0024996550
Transfer69067412018-12-18 3:06:542651 days ago1545102414IN
0x2e225eeD...3E6efB5d9
0.05005631 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70291032019-01-08 3:15:002630 days ago1546917300
0x2e225eeD...3E6efB5d9
0.05007754 ETH
-70170962019-01-05 23:39:332633 days ago1546731573
0x2e225eeD...3E6efB5d9
0.05008052 ETH
-70053972019-01-03 21:21:052635 days ago1546550465
0x2e225eeD...3E6efB5d9
0.05004696 ETH
-69941762019-01-01 22:41:042637 days ago1546382464
0x2e225eeD...3E6efB5d9
0.05006356 ETH
-69827102018-12-31 0:03:242639 days ago1546214604
0x2e225eeD...3E6efB5d9
0.05011467 ETH
-69713812018-12-29 2:11:282640 days ago1546049488
0x2e225eeD...3E6efB5d9
0.05001993 ETH
-69600352018-12-27 4:15:052642 days ago1545884105
0x2e225eeD...3E6efB5d9
0.05004493 ETH
-69484982018-12-25 5:34:272644 days ago1545716067
0x2e225eeD...3E6efB5d9
0.05005208 ETH
-69378372018-12-23 10:22:312646 days ago1545560551
0x2e225eeD...3E6efB5d9
0.05001069 ETH
-69272182018-12-21 14:53:482648 days ago1545404028
0x2e225eeD...3E6efB5d9
0.05000411 ETH
-69168542018-12-19 20:29:332650 days ago1545251373
0x2e225eeD...3E6efB5d9
0.05010836 ETH
-69067572018-12-18 3:11:412651 days ago1545102701
0x2e225eeD...3E6efB5d9
0.05005631 ETH
-68964372018-12-16 9:28:102653 days ago1544952490
0x2e225eeD...3E6efB5d9
0.05011499 ETH
-68856812018-12-14 15:00:172655 days ago1544799617
0x2e225eeD...3E6efB5d9
0.05007996 ETH
-68747452018-12-12 19:40:472657 days ago1544643647
0x2e225eeD...3E6efB5d9
0.05000098 ETH
-68639442018-12-11 0:42:012659 days ago1544488921
0x2e225eeD...3E6efB5d9
0.05006215 ETH
-68529062018-12-09 5:30:072660 days ago1544333407
0x2e225eeD...3E6efB5d9
0.05000776 ETH
-68416832018-12-07 8:49:452662 days ago1544172585
0x2e225eeD...3E6efB5d9
0.05003982 ETH
-68301042018-12-05 10:41:032664 days ago1544006463
0x2e225eeD...3E6efB5d9
0.05006616 ETH
-68184272018-12-03 12:20:422666 days ago1543839642
0x2e225eeD...3E6efB5d9
0.05006081 ETH
-68067022018-12-01 13:39:272668 days ago1543671567
0x2e225eeD...3E6efB5d9
0.05013127 ETH
Transfer67950382018-11-29 15:25:542670 days ago1543505154
0x2e225eeD...3E6efB5d9
0.05005366 ETH
Transfer67831782018-11-27 16:40:122672 days ago1543336812
0x2e225eeD...3E6efB5d9
0.05012298 ETH
Transfer67654492018-11-24 18:33:132675 days ago1543084393
0x2e225eeD...3E6efB5d9
0.05003166 ETH
Transfer67522422018-11-22 14:45:302677 days ago1542897930
0x2e225eeD...3E6efB5d9
0.05006566 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.