ETH Price: $2,512.18 (-5.42%)

Contract

0xc02D373018289D2B54F9c37cbf16998B78AdfDe9
 

Overview

ETH Balance

0.000000005151149791 ETH

Eth Value

Less Than $0.01 (@ $2,512.18/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep58215412018-06-20 8:20:402325 days ago1529482840IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer58215102018-06-20 8:13:272325 days ago1529482407IN
0xc02D3730...B78AdfDe9
0.05004281 ETH0.000021051
Sweep57994772018-06-16 14:26:022329 days ago1529159162IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer57994592018-06-16 14:22:082329 days ago1529158928IN
0xc02D3730...B78AdfDe9
0.0500378 ETH0.000021051
Sweep57788112018-06-13 0:35:002333 days ago1528850100IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer57787902018-06-13 0:30:092333 days ago1528849809IN
0xc02D3730...B78AdfDe9
0.05007482 ETH0.000021051
Sweep57586682018-06-09 11:23:202336 days ago1528543400IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer57586372018-06-09 11:15:532336 days ago1528542953IN
0xc02D3730...B78AdfDe9
0.05004713 ETH0.000021051
Sweep57397022018-06-06 2:27:532340 days ago1528252073IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer57396772018-06-06 2:21:492340 days ago1528251709IN
0xc02D3730...B78AdfDe9
0.05006233 ETH0.000021051
Sweep57184592018-06-02 7:59:162343 days ago1527926356IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer57184362018-06-02 7:51:422343 days ago1527925902IN
0xc02D3730...B78AdfDe9
0.05002823 ETH0.000021051
Sweep56959912018-05-29 8:02:192347 days ago1527580939IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer56959632018-05-29 7:55:092347 days ago1527580509IN
0xc02D3730...B78AdfDe9
0.05000856 ETH0.000021051
Sweep56712562018-05-24 23:30:212352 days ago1527204621IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer56712002018-05-24 23:16:262352 days ago1527203786IN
0xc02D3730...B78AdfDe9
0.05007906 ETH0.000021051
Sweep56470732018-05-20 16:18:192356 days ago1526833099IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer56470552018-05-20 16:15:202356 days ago1526832920IN
0xc02D3730...B78AdfDe9
0.05001999 ETH0.000021051
Sweep56234592018-05-16 12:05:422360 days ago1526472342IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer56234022018-05-16 11:50:152360 days ago1526471415IN
0xc02D3730...B78AdfDe9
0.05001378 ETH0.000021051
Sweep55877802018-05-10 6:08:582366 days ago1525932538IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer55877422018-05-10 5:57:242366 days ago1525931844IN
0xc02D3730...B78AdfDe9
0.05000307 ETH0.000021051
Sweep55638892018-05-06 2:44:362371 days ago1525574676IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
Transfer55638402018-05-06 2:31:552371 days ago1525573915IN
0xc02D3730...B78AdfDe9
0.05001604 ETH0.000021051
Sweep55398172018-05-01 21:04:532375 days ago1525208693IN
0xc02D3730...B78AdfDe9
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
58215412018-06-20 8:20:402325 days ago1529482840
0xc02D3730...B78AdfDe9
0.05004282 ETH
57994772018-06-16 14:26:022329 days ago1529159162
0xc02D3730...B78AdfDe9
0.05003781 ETH
57788112018-06-13 0:35:002333 days ago1528850100
0xc02D3730...B78AdfDe9
0.05007482 ETH
57586682018-06-09 11:23:202336 days ago1528543400
0xc02D3730...B78AdfDe9
0.05004713 ETH
57397022018-06-06 2:27:532340 days ago1528252073
0xc02D3730...B78AdfDe9
0.05006234 ETH
57184592018-06-02 7:59:162343 days ago1527926356
0xc02D3730...B78AdfDe9
0.05002824 ETH
56959912018-05-29 8:02:192347 days ago1527580939
0xc02D3730...B78AdfDe9
0.05000856 ETH
56712562018-05-24 23:30:212352 days ago1527204621
0xc02D3730...B78AdfDe9
0.05007906 ETH
56470732018-05-20 16:18:192356 days ago1526833099
0xc02D3730...B78AdfDe9
0.05002 ETH
56234592018-05-16 12:05:422360 days ago1526472342
0xc02D3730...B78AdfDe9
0.05001378 ETH
55877802018-05-10 6:08:582366 days ago1525932538
0xc02D3730...B78AdfDe9
0.05000308 ETH
55638892018-05-06 2:44:362371 days ago1525574676
0xc02D3730...B78AdfDe9
0.05001604 ETH
55398172018-05-01 21:04:532375 days ago1525208693
0xc02D3730...B78AdfDe9
0.05003394 ETH
55163722018-04-27 19:01:252379 days ago1524855685
0xc02D3730...B78AdfDe9
0.0500217 ETH
54933802018-04-23 19:32:052383 days ago1524511925
0xc02D3730...B78AdfDe9
0.09391936 ETH
54305782018-04-13 2:05:292394 days ago1523585129
0xc02D3730...B78AdfDe9
0.05002005 ETH
54056702018-04-08 22:13:312398 days ago1523225611
0xc02D3730...B78AdfDe9
0.05004003 ETH
53671052018-04-02 12:53:252404 days ago1522673605
0xc02D3730...B78AdfDe9
0.05002457 ETH
53390972018-03-28 20:44:142409 days ago1522269854
0xc02D3730...B78AdfDe9
0.08454542 ETH
52248052018-03-09 14:19:142428 days ago1520605154
0xc02D3730...B78AdfDe9
0.05002227 ETH
51905972018-03-03 19:00:362434 days ago1520103636
0xc02D3730...B78AdfDe9
0.05004313 ETH
51638402018-02-27 6:19:122438 days ago1519712352
0xc02D3730...B78AdfDe9
0.05001834 ETH
51385632018-02-22 22:27:102443 days ago1519338430
0xc02D3730...B78AdfDe9
0.05000465 ETH
51142692018-02-18 19:07:042447 days ago1518980824
0xc02D3730...B78AdfDe9
0.05001257 ETH
50900502018-02-14 17:48:562451 days ago1518630536
0xc02D3730...B78AdfDe9
0.05002385 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.