ETH Price: $2,724.19 (-2.54%)

Contract

0xCfd0E36cE0a7C9b86359BBc8e5a3361356E025ea
 

Overview

ETH Balance

0.04046564517524378 ETH

Eth Value

$110.24 (@ $2,724.19/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer72490942019-02-21 14:10:022194 days ago1550758202IN
0xCfd0E36c...356E025ea
0.01169445 ETH0.000021051
Transfer72196352019-02-14 14:05:592201 days ago1550153159IN
0xCfd0E36c...356E025ea
0.02877119 ETH0.000021051
Sweep71883652019-02-07 14:05:402208 days ago1549548340IN
0xCfd0E36c...356E025ea
0 ETH0.0024996550
Transfer71883482019-02-07 14:02:372208 days ago1549548157IN
0xCfd0E36c...356E025ea
0.06141091 ETH0.000021051
Sweep71540612019-01-31 14:05:122215 days ago1548943512IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer71540422019-01-31 13:58:012215 days ago1548943081IN
0xCfd0E36c...356E025ea
0.07985002 ETH0.000021051
Sweep71191982019-01-24 13:58:432222 days ago1548338323IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer71191752019-01-24 13:52:242222 days ago1548337944IN
0xCfd0E36c...356E025ea
0.08081204 ETH0.000021051
Sweep70818232019-01-17 13:54:372229 days ago1547733277IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer70818022019-01-17 13:49:162229 days ago1547732956IN
0xCfd0E36c...356E025ea
0.07691846 ETH0.000021051
Sweep70427152019-01-10 13:50:362236 days ago1547128236IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer70427012019-01-10 13:46:332236 days ago1547127993IN
0xCfd0E36c...356E025ea
0.09765629 ETH0.000021051
Sweep70036322019-01-03 13:44:092243 days ago1546523049IN
0xCfd0E36c...356E025ea
0 ETH0.0024996550
Transfer70036152019-01-03 13:38:322243 days ago1546522712IN
0xCfd0E36c...356E025ea
0.05328962 ETH0.000021051
Sweep69623502018-12-27 13:40:052250 days ago1545918005IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer69623282018-12-27 13:36:082250 days ago1545917768IN
0xCfd0E36c...356E025ea
0.10005058 ETH0.000021051
Sweep69256062018-12-21 8:23:132256 days ago1545380593IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer69255902018-12-21 8:19:042256 days ago1545380344IN
0xCfd0E36c...356E025ea
0.10006129 ETH0.000021051
Sweep68937102018-12-15 22:32:232262 days ago1544913143IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer68936952018-12-15 22:28:352262 days ago1544912915IN
0xCfd0E36c...356E025ea
0.1000487 ETH0.000021051
Sweep68619812018-12-10 17:03:052267 days ago1544461385IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer68619592018-12-10 16:59:292267 days ago1544461169IN
0xCfd0E36c...356E025ea
0.10005912 ETH0.000021051
Sweep68280792018-12-05 2:46:342273 days ago1543977994IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
Transfer68280612018-12-05 2:41:242273 days ago1543977684IN
0xCfd0E36c...356E025ea
0.10000101 ETH0.000021051
Sweep67922502018-11-29 4:23:362279 days ago1543465416IN
0xCfd0E36c...356E025ea
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
71883652019-02-07 14:05:402208 days ago1549548340
0xCfd0E36c...356E025ea
0.06141092 ETH
71540612019-01-31 14:05:122215 days ago1548943512
0xCfd0E36c...356E025ea
0.07985003 ETH
71191982019-01-24 13:58:432222 days ago1548338323
0xCfd0E36c...356E025ea
0.08081204 ETH
70818232019-01-17 13:54:372229 days ago1547733277
0xCfd0E36c...356E025ea
0.07691847 ETH
70427152019-01-10 13:50:362236 days ago1547128236
0xCfd0E36c...356E025ea
0.0976563 ETH
70036322019-01-03 13:44:092243 days ago1546523049
0xCfd0E36c...356E025ea
0.05328962 ETH
69623502018-12-27 13:40:052250 days ago1545918005
0xCfd0E36c...356E025ea
0.10005059 ETH
69256062018-12-21 8:23:132256 days ago1545380593
0xCfd0E36c...356E025ea
0.10006129 ETH
68937102018-12-15 22:32:232262 days ago1544913143
0xCfd0E36c...356E025ea
0.10004871 ETH
68619812018-12-10 17:03:052267 days ago1544461385
0xCfd0E36c...356E025ea
0.10005913 ETH
68280792018-12-05 2:46:342273 days ago1543977994
0xCfd0E36c...356E025ea
0.10000102 ETH
67922502018-11-29 4:23:362279 days ago1543465416
0xCfd0E36c...356E025ea
0.10005912 ETH
67558782018-11-23 4:57:112285 days ago1542949031
0xCfd0E36c...356E025ea
0.10000161 ETH
67137182018-11-16 6:50:052291 days ago1542351005
0xCfd0E36c...356E025ea
0.09944086 ETH
66708842018-11-09 6:46:052298 days ago1541745965
0xCfd0E36c...356E025ea
0.10007898 ETH
66288772018-11-02 9:28:552305 days ago1541150935
0xCfd0E36c...356E025ea
0.06435247 ETH
65003592018-10-12 9:16:002326 days ago1539335760
0xCfd0E36c...356E025ea
0.05909794 ETH
64571372018-10-05 9:19:312333 days ago1538731171
0xCfd0E36c...356E025ea
0.08908467 ETH
64143622018-09-28 9:28:212340 days ago1538126901
0xCfd0E36c...356E025ea
0.09701159 ETH
63717332018-09-21 9:28:382347 days ago1537522118
0xCfd0E36c...356E025ea
0.10005138 ETH
63298112018-09-14 11:04:262354 days ago1536923066
0xCfd0E36c...356E025ea
0.0813141 ETH
62878962018-09-07 11:00:552361 days ago1536318055
0xCfd0E36c...356E025ea
0.09075923 ETH
62462062018-08-31 11:03:462368 days ago1535713426
0xCfd0E36c...356E025ea
0.08330668 ETH
62047132018-08-24 11:05:202375 days ago1535108720
0xCfd0E36c...356E025ea
0.09041081 ETH
61633312018-08-17 10:58:532382 days ago1534503533
0xCfd0E36c...356E025ea
0.08932386 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.