ETH Price: $2,778.15 (+1.49%)
Gas: 0.9 Gwei

Contract

0xE1D5Adae088a3D31989d656129305361972Ffee2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep61770672018-08-19 18:55:532378 days ago1534704953IN
0xE1D5Adae...1972Ffee2
0 ETH0.0050057100
Transfer61770502018-08-19 18:51:482378 days ago1534704708IN
0xE1D5Adae...1972Ffee2
0.08067307 ETH0.00004212
Sweep61583222018-08-16 14:43:012382 days ago1534430581IN
0xE1D5Adae...1972Ffee2
0 ETH0.0049993100
Transfer61582972018-08-16 14:37:452382 days ago1534430265IN
0xE1D5Adae...1972Ffee2
0.05024293 ETH0.0002947114
Sweep61464202018-08-14 14:35:182384 days ago1534257318IN
0xE1D5Adae...1972Ffee2
0 ETH0.0049929100
Transfer61463962018-08-14 14:30:032384 days ago1534257003IN
0xE1D5Adae...1972Ffee2
0.05038477 ETH0.0002947114
Sweep61340532018-08-12 12:26:232386 days ago1534076783IN
0xE1D5Adae...1972Ffee2
0 ETH0.0049993100
Transfer61340402018-08-12 12:22:352386 days ago1534076555IN
0xE1D5Adae...1972Ffee2
0.05074766 ETH0.0002947114
Sweep61225082018-08-10 13:23:092388 days ago1533907389IN
0xE1D5Adae...1972Ffee2
0 ETH0.0049993100
Transfer61224872018-08-10 13:17:322388 days ago1533907052IN
0xE1D5Adae...1972Ffee2
0.05404599 ETH0.0002947114
Sweep60995852018-08-06 16:19:322392 days ago1533572372IN
0xE1D5Adae...1972Ffee2
0 ETH0.0049993100
Transfer60995612018-08-06 16:14:182392 days ago1533572058IN
0xE1D5Adae...1972Ffee2
0.05723646 ETH0.00008424
Sweep60830122018-08-03 21:48:442394 days ago1533332924IN
0xE1D5Adae...1972Ffee2
0 ETH0.0049993100
Transfer60829952018-08-03 21:41:292394 days ago1533332489IN
0xE1D5Adae...1972Ffee2
0.05115829 ETH0.00008424
Sweep58834532018-06-30 23:52:322428 days ago1530402752IN
0xE1D5Adae...1972Ffee2
0 ETH0.0025028550
Transfer58834312018-06-30 23:47:402428 days ago1530402460IN
0xE1D5Adae...1972Ffee2
0.09522293 ETH0.0002526112
Sweep58650022018-06-27 19:38:402431 days ago1530128320IN
0xE1D5Adae...1972Ffee2
0 ETH0.0024996550
Transfer58649782018-06-27 19:32:432431 days ago1530127963IN
0xE1D5Adae...1972Ffee2
0.05215777 ETH0.00016848
Sweep58542912018-06-25 23:06:032433 days ago1529967963IN
0xE1D5Adae...1972Ffee2
0 ETH0.0024996550
Transfer58542642018-06-25 22:57:172433 days ago1529967437IN
0xE1D5Adae...1972Ffee2
0.05390084 ETH0.00016848
Sweep58448282018-06-24 7:36:222435 days ago1529825782IN
0xE1D5Adae...1972Ffee2
0 ETH0.0024996550
Transfer58447972018-06-24 7:27:212435 days ago1529825241IN
0xE1D5Adae...1972Ffee2
0.05054067 ETH0.00016848
Sweep49304032018-01-18 18:02:562591 days ago1516298576IN
0xE1D5Adae...1972Ffee2
0 ETH0.0044993790
Transfer49303682018-01-18 17:53:022591 days ago1516297982IN
0xE1D5Adae...1972Ffee2
0.05146461 ETH0.0004210220
Sweep49096802018-01-14 23:50:332595 days ago1515973833IN
0xE1D5Adae...1972Ffee2
0 ETH0.0044993790
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
61770672018-08-19 18:55:532378 days ago1534704953
0xE1D5Adae...1972Ffee2
0.08067307 ETH
61583222018-08-16 14:43:012382 days ago1534430581
0xE1D5Adae...1972Ffee2
0.05024293 ETH
61464202018-08-14 14:35:182384 days ago1534257318
0xE1D5Adae...1972Ffee2
0.05038477 ETH
61340532018-08-12 12:26:232386 days ago1534076783
0xE1D5Adae...1972Ffee2
0.05074766 ETH
61225082018-08-10 13:23:092388 days ago1533907389
0xE1D5Adae...1972Ffee2
0.05404599 ETH
60995852018-08-06 16:19:322392 days ago1533572372
0xE1D5Adae...1972Ffee2
0.05723646 ETH
60830122018-08-03 21:48:442394 days ago1533332924
0xE1D5Adae...1972Ffee2
0.05115829 ETH
58834532018-06-30 23:52:322428 days ago1530402752
0xE1D5Adae...1972Ffee2
0.09522293 ETH
58650022018-06-27 19:38:402431 days ago1530128320
0xE1D5Adae...1972Ffee2
0.05215777 ETH
58542912018-06-25 23:06:032433 days ago1529967963
0xE1D5Adae...1972Ffee2
0.05390084 ETH
58448282018-06-24 7:36:222435 days ago1529825782
0xE1D5Adae...1972Ffee2
0.05054067 ETH
49304032018-01-18 18:02:562591 days ago1516298576
0xE1D5Adae...1972Ffee2
0.05146461 ETH
49096802018-01-14 23:50:332595 days ago1515973833
0xE1D5Adae...1972Ffee2
0.0500737 ETH
49016162018-01-13 12:50:432597 days ago1515847843
0xE1D5Adae...1972Ffee2
0.05045284 ETH
48951972018-01-12 8:37:032598 days ago1515746223
0xE1D5Adae...1972Ffee2
0.05089832 ETH
48893152018-01-11 6:29:392599 days ago1515652179
0xE1D5Adae...1972Ffee2
0.05011135 ETH
48832192018-01-10 3:31:492600 days ago1515555109
0xE1D5Adae...1972Ffee2
0.05219709 ETH
48790482018-01-09 8:52:022601 days ago1515487922
0xE1D5Adae...1972Ffee2
0.10744394 ETH
48691602018-01-07 13:24:362603 days ago1515331476
0xE1D5Adae...1972Ffee2
0.05997772 ETH
48650782018-01-06 19:26:002603 days ago1515266760
0xE1D5Adae...1972Ffee2
0.08991842 ETH
48577292018-01-05 10:41:482605 days ago1515148908
0xE1D5Adae...1972Ffee2
0.05051774 ETH
48534572018-01-04 15:29:292606 days ago1515079769
0xE1D5Adae...1972Ffee2
0.05288495 ETH
48486192018-01-03 18:20:012606 days ago1515003601
0xE1D5Adae...1972Ffee2
0.05229423 ETH
48438482018-01-02 21:49:402607 days ago1514929780
0xE1D5Adae...1972Ffee2
0.0536494 ETH
48393642018-01-02 3:04:172608 days ago1514862257
0xE1D5Adae...1972Ffee2
0.05384401 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.