ETH Price: $2,024.21 (+2.07%)

Contract

0xEC50DFe1f01bB36bE4d0e87c46f6672D0cE6a59f
 

Overview

ETH Balance

0.010006451934625166 ETH

Eth Value

$20.26 (@ $2,024.21/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer64334242018-10-01 12:33:032737 days ago1538397183IN
0xEC50DFe1...D0cE6a59f
0.01000644 ETH0.000021051
Sweep60564812018-07-30 9:35:072800 days ago1532943307IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0049993100
Transfer60564602018-07-30 9:27:412800 days ago1532942861IN
0xEC50DFe1...D0cE6a59f
0.02032812 ETH0.000021051
Transfer60150982018-07-23 9:30:202807 days ago1532338220IN
0xEC50DFe1...D0cE6a59f
0.01000704 ETH0.000021051
Transfer58787952018-06-30 4:47:472830 days ago1530334067IN
0xEC50DFe1...D0cE6a59f
0.03095802 ETH0.000021051
Sweep58381632018-06-23 4:54:372837 days ago1529729677IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer58381312018-06-23 4:46:172837 days ago1529729177IN
0xEC50DFe1...D0cE6a59f
0.08107412 ETH0.000021051
Sweep57971282018-06-16 4:44:262844 days ago1529124266IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer57971032018-06-16 4:37:452844 days ago1529123865IN
0xEC50DFe1...D0cE6a59f
0.09085614 ETH0.000021051
Sweep57571002018-06-09 4:33:372851 days ago1528518817IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer57570822018-06-09 4:29:322851 days ago1528518572IN
0xEC50DFe1...D0cE6a59f
0.12707505 ETH0.000021051
Sweep57176472018-06-02 4:30:272858 days ago1527913827IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer57176292018-06-02 4:25:332858 days ago1527913533IN
0xEC50DFe1...D0cE6a59f
0.1170136 ETH0.000021051
Sweep56780462018-05-26 4:31:132865 days ago1527309073IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer56780192018-05-26 4:24:192865 days ago1527308659IN
0xEC50DFe1...D0cE6a59f
0.1416303 ETH0.000021051
Sweep56386732018-05-19 4:27:312872 days ago1526704051IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer56386382018-05-19 4:21:422872 days ago1526703702IN
0xEC50DFe1...D0cE6a59f
0.15000146 ETH0.000021051
Sweep56100632018-05-14 3:25:282877 days ago1526268328IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer56100102018-05-14 3:12:362877 days ago1526267556IN
0xEC50DFe1...D0cE6a59f
0.1307699 ETH0.000021051
Sweep55698332018-05-07 3:19:092884 days ago1525663149IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer55697992018-05-07 3:09:452884 days ago1525662585IN
0xEC50DFe1...D0cE6a59f
0.07926149 ETH0.000021051
Sweep55299102018-04-30 3:16:362891 days ago1525058196IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer55298892018-04-30 3:10:272891 days ago1525057827IN
0xEC50DFe1...D0cE6a59f
0.16898595 ETH0.000021051
Sweep55061932018-04-26 0:44:022895 days ago1524703442IN
0xEC50DFe1...D0cE6a59f
0 ETH0.0025028550
Transfer55061752018-04-26 0:37:382895 days ago1524703058IN
0xEC50DFe1...D0cE6a59f
0.30400911 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer60564812018-07-30 9:35:072800 days ago1532943307
0xEC50DFe1...D0cE6a59f
0.0612932 ETH
Transfer58381632018-06-23 4:54:372837 days ago1529729677
0xEC50DFe1...D0cE6a59f
0.08107412 ETH
Transfer57971282018-06-16 4:44:262844 days ago1529124266
0xEC50DFe1...D0cE6a59f
0.09085615 ETH
Transfer57571002018-06-09 4:33:372851 days ago1528518817
0xEC50DFe1...D0cE6a59f
0.12707505 ETH
Transfer57176472018-06-02 4:30:272858 days ago1527913827
0xEC50DFe1...D0cE6a59f
0.11701361 ETH
Transfer56780462018-05-26 4:31:132865 days ago1527309073
0xEC50DFe1...D0cE6a59f
0.1416303 ETH
Transfer56386732018-05-19 4:27:312872 days ago1526704051
0xEC50DFe1...D0cE6a59f
0.15000147 ETH
Transfer56100632018-05-14 3:25:282877 days ago1526268328
0xEC50DFe1...D0cE6a59f
0.13076991 ETH
Transfer55698332018-05-07 3:19:092884 days ago1525663149
0xEC50DFe1...D0cE6a59f
0.07926149 ETH
Transfer55299102018-04-30 3:16:362891 days ago1525058196
0xEC50DFe1...D0cE6a59f
0.16898596 ETH
Transfer55061932018-04-26 0:44:022895 days ago1524703442
0xEC50DFe1...D0cE6a59f
0.30400911 ETH
Transfer54655742018-04-19 0:43:192902 days ago1524098599
0xEC50DFe1...D0cE6a59f
0.2938136 ETH
Transfer54243132018-04-12 0:36:412909 days ago1523493401
0xEC50DFe1...D0cE6a59f
0.19036719 ETH
Transfer53980112018-04-07 15:46:512914 days ago1523116011
0xEC50DFe1...D0cE6a59f
0.10001013 ETH
Transfer53831152018-04-05 4:40:112916 days ago1522903211
0xEC50DFe1...D0cE6a59f
0.10001802 ETH
Transfer53686122018-04-02 18:59:502919 days ago1522695590
0xEC50DFe1...D0cE6a59f
0.10004974 ETH
Transfer53542722018-03-31 10:19:052921 days ago1522491545
0xEC50DFe1...D0cE6a59f
0.10013385 ETH
Transfer53376722018-03-28 15:05:342924 days ago1522249534
0xEC50DFe1...D0cE6a59f
0.10002618 ETH
Transfer53169222018-03-25 3:25:212927 days ago1521948321
0xEC50DFe1...D0cE6a59f
0.10007315 ETH
Transfer52991222018-03-22 4:27:132930 days ago1521692833
0xEC50DFe1...D0cE6a59f
0.10002129 ETH
Transfer52818002018-03-19 6:35:582933 days ago1521441358
0xEC50DFe1...D0cE6a59f
0.10006855 ETH
Transfer52628452018-03-16 1:38:042936 days ago1521164284
0xEC50DFe1...D0cE6a59f
0.1001411 ETH
Transfer52448352018-03-12 23:55:202939 days ago1520898920
0xEC50DFe1...D0cE6a59f
0.10019147 ETH
Transfer52270692018-03-09 23:33:472943 days ago1520638427
0xEC50DFe1...D0cE6a59f
0.10004335 ETH
Transfer52073422018-03-06 15:11:022946 days ago1520349062
0xEC50DFe1...D0cE6a59f
0.10004017 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.