ETH Price: $2,376.61 (+8.24%)

Contract

0x2eA874dd02834829f9650912f00eE4cB0A862a5C
 

Overview

ETH Balance

0.019298979 ETH

Eth Value

$45.87 (@ $2,376.61/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer85205832019-09-10 6:43:022001 days ago1568097782IN
0x2eA874dd...B0A862a5C
0.01929897 ETH0.0004210220
Sweep61500102018-08-15 5:02:272392 days ago1534309347IN
0x2eA874dd...B0A862a5C
0 ETH0.0050057100
Transfer61499952018-08-15 4:56:472392 days ago1534309007IN
0x2eA874dd...B0A862a5C
0.16604028 ETH0.00012636
Sweep58950922018-07-02 23:18:172435 days ago1530573497IN
0x2eA874dd...B0A862a5C
0 ETH0.0037542775
Transfer58950562018-07-02 23:10:262435 days ago1530573026IN
0x2eA874dd...B0A862a5C
0.0775267 ETH0.0015788275
Sweep58950442018-07-02 23:06:022435 days ago1530572762IN
0x2eA874dd...B0A862a5C
0 ETH0.0037542775
Transfer58946112018-07-02 21:23:092435 days ago1530566589IN
0x2eA874dd...B0A862a5C
0.30046333 ETH0.0014314668
Sweep58325572018-06-22 5:33:172446 days ago1529645597IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer58325282018-06-22 5:26:572446 days ago1529645217IN
0x2eA874dd...B0A862a5C
0.09242386 ETH0.00012636
Sweep58323562018-06-22 4:41:322446 days ago1529642492IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer58323192018-06-22 4:31:172446 days ago1529641877IN
0x2eA874dd...B0A862a5C
0.59776191 ETH0.00008424
Sweep58266912018-06-21 5:26:432447 days ago1529558803IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer58266492018-06-21 5:15:372447 days ago1529558137IN
0x2eA874dd...B0A862a5C
0.07925553 ETH0.00012636
Sweep57734642018-06-12 2:08:082456 days ago1528769288IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer57734462018-06-12 2:03:382456 days ago1528769018IN
0x2eA874dd...B0A862a5C
0.29473022 ETH0.000147357
Sweep57726392018-06-11 22:36:482456 days ago1528756608IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer57726202018-06-11 22:30:562456 days ago1528756256IN
0x2eA874dd...B0A862a5C
0.1587312 ETH0.000147357
Sweep57525802018-06-08 9:28:122460 days ago1528450092IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer57525542018-06-08 9:23:422460 days ago1528449822IN
0x2eA874dd...B0A862a5C
0.0739787 ETH0.0002105110
Sweep57018112018-05-30 8:57:182469 days ago1527670638IN
0x2eA874dd...B0A862a5C
0 ETH0.0024996550
Transfer57017882018-05-30 8:51:302469 days ago1527670290IN
0x2eA874dd...B0A862a5C
0.06248371 ETH0.0003157615
Sweep56993052018-05-29 22:20:052469 days ago1527632405IN
0x2eA874dd...B0A862a5C
0 ETH0.0025028550
Transfer56992852018-05-29 22:16:232469 days ago1527632183IN
0x2eA874dd...B0A862a5C
0.28498595 ETH0.0002736613
Sweep56811822018-05-26 17:25:262472 days ago1527355526IN
0x2eA874dd...B0A862a5C
0 ETH0.0024996550
Transfer56811592018-05-26 17:20:002472 days ago1527355200IN
0x2eA874dd...B0A862a5C
0.06364549 ETH0.0002105110
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
61500102018-08-15 5:02:272392 days ago1534309347
0x2eA874dd...B0A862a5C
0.16604028 ETH
58950922018-07-02 23:18:172435 days ago1530573497
0x2eA874dd...B0A862a5C
0.0775267 ETH
58950442018-07-02 23:06:022435 days ago1530572762
0x2eA874dd...B0A862a5C
0.30046333 ETH
58325572018-06-22 5:33:172446 days ago1529645597
0x2eA874dd...B0A862a5C
0.09242386 ETH
58323562018-06-22 4:41:322446 days ago1529642492
0x2eA874dd...B0A862a5C
0.59776191 ETH
58266912018-06-21 5:26:432447 days ago1529558803
0x2eA874dd...B0A862a5C
0.07925553 ETH
57734642018-06-12 2:08:082456 days ago1528769288
0x2eA874dd...B0A862a5C
0.29473022 ETH
57726392018-06-11 22:36:482456 days ago1528756608
0x2eA874dd...B0A862a5C
0.1587312 ETH
57525802018-06-08 9:28:122460 days ago1528450092
0x2eA874dd...B0A862a5C
0.0739787 ETH
57018112018-05-30 8:57:182469 days ago1527670638
0x2eA874dd...B0A862a5C
0.06248371 ETH
56993052018-05-29 22:20:052469 days ago1527632405
0x2eA874dd...B0A862a5C
0.28498595 ETH
56811822018-05-26 17:25:262472 days ago1527355526
0x2eA874dd...B0A862a5C
0.06364549 ETH
56748962018-05-25 14:57:292473 days ago1527260249
0x2eA874dd...B0A862a5C
0.18751793 ETH
56714132018-05-25 0:11:222474 days ago1527207082
0x2eA874dd...B0A862a5C
0.35296079 ETH
56473702018-05-20 17:32:592478 days ago1526837579
0x2eA874dd...B0A862a5C
0.07413592 ETH
56405852018-05-19 12:54:522480 days ago1526734492
0x2eA874dd...B0A862a5C
0.54070722 ETH
55130782018-04-27 5:12:552502 days ago1524805975
0x2eA874dd...B0A862a5C
1.4600214 ETH
55012422018-04-25 4:18:272504 days ago1524629907
0x2eA874dd...B0A862a5C
0.26082662 ETH
54488762018-04-16 4:15:412513 days ago1523852141
0x2eA874dd...B0A862a5C
0.6471498 ETH
53838252018-04-05 7:37:352524 days ago1522913855
0x2eA874dd...B0A862a5C
0.39186784 ETH
53836702018-04-05 7:02:232524 days ago1522911743
0x2eA874dd...B0A862a5C
0.05536022 ETH
53716932018-04-03 7:08:112526 days ago1522739291
0x2eA874dd...B0A862a5C
0.09557691 ETH
52426232018-03-12 14:58:112547 days ago1520866691
0x2eA874dd...B0A862a5C
0.29425296 ETH
49535582018-01-22 17:54:332596 days ago1516643673
0x2eA874dd...B0A862a5C
0.14311434 ETH
47015622017-12-09 8:40:222641 days ago1512808822  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

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

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.