ETH Price: $2,725.77 (+0.85%)

Contract

0x69D368F9dc8d272f9b54a1Fa34C335dcEEC67843
 

Overview

ETH Balance

0.000000001890994891 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep61330032018-08-12 8:00:512383 days ago1534060851IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer61329712018-08-12 7:52:422383 days ago1534060362IN
0x69D368F9...cEEC67843
0.02902471 ETH0.000021051
Transfer60915292018-08-05 7:51:222390 days ago1533455482IN
0x69D368F9...cEEC67843
0.02937614 ETH0.000021051
Sweep60500712018-07-29 7:49:542397 days ago1532850594IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer60500492018-07-29 7:46:112397 days ago1532850371IN
0x69D368F9...cEEC67843
0.0500377 ETH0.000021051
Sweep60294432018-07-25 20:26:232400 days ago1532550383IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer60294122018-07-25 20:19:102400 days ago1532549950IN
0x69D368F9...cEEC67843
0.05018315 ETH0.000021051
Sweep60155892018-07-23 11:40:372403 days ago1532346037IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer60155562018-07-23 11:30:482403 days ago1532345448IN
0x69D368F9...cEEC67843
0.05002394 ETH0.000021051
Sweep60035542018-07-21 11:14:072405 days ago1532171647IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer60035302018-07-21 11:08:082405 days ago1532171288IN
0x69D368F9...cEEC67843
0.05010027 ETH0.000021051
Sweep59826942018-07-17 21:14:292408 days ago1531862069IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59826622018-07-17 21:08:142408 days ago1531861694IN
0x69D368F9...cEEC67843
0.05004766 ETH0.000021051
Sweep59687602018-07-15 12:25:562410 days ago1531657556IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59687282018-07-15 12:19:002410 days ago1531657140IN
0x69D368F9...cEEC67843
0.0500519 ETH0.000021051
Sweep59586052018-07-13 20:05:312412 days ago1531512331IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59585722018-07-13 19:58:102412 days ago1531511890IN
0x69D368F9...cEEC67843
0.05016075 ETH0.000021051
Sweep59456552018-07-11 16:17:282414 days ago1531325848IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59456242018-07-11 16:09:542414 days ago1531325394IN
0x69D368F9...cEEC67843
0.05005547 ETH0.000021051
Sweep59323142018-07-09 9:10:302417 days ago1531127430IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59322832018-07-09 9:01:442417 days ago1531126904IN
0x69D368F9...cEEC67843
0.05003306 ETH0.000021051
Sweep59208132018-07-07 9:25:342419 days ago1530955534IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59207932018-07-07 9:19:252419 days ago1530955165IN
0x69D368F9...cEEC67843
0.05015133 ETH0.000021051
Sweep59103482018-07-05 14:10:582420 days ago1530799858IN
0x69D368F9...cEEC67843
0 ETH0.0049993100
Transfer59103242018-07-05 14:04:432420 days ago1530799483IN
0x69D368F9...cEEC67843
0.0501606 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
61330032018-08-12 8:00:512383 days ago1534060851
0x69D368F9...cEEC67843
0.05840087 ETH
60500712018-07-29 7:49:542397 days ago1532850594
0x69D368F9...cEEC67843
0.0500377 ETH
60294432018-07-25 20:26:232400 days ago1532550383
0x69D368F9...cEEC67843
0.05018316 ETH
60155892018-07-23 11:40:372403 days ago1532346037
0x69D368F9...cEEC67843
0.05002394 ETH
60035542018-07-21 11:14:072405 days ago1532171647
0x69D368F9...cEEC67843
0.05010028 ETH
59826942018-07-17 21:14:292408 days ago1531862069
0x69D368F9...cEEC67843
0.05004766 ETH
59687602018-07-15 12:25:562410 days ago1531657556
0x69D368F9...cEEC67843
0.05005191 ETH
59586052018-07-13 20:05:312412 days ago1531512331
0x69D368F9...cEEC67843
0.05016075 ETH
59456552018-07-11 16:17:282414 days ago1531325848
0x69D368F9...cEEC67843
0.05005547 ETH
59323142018-07-09 9:10:302417 days ago1531127430
0x69D368F9...cEEC67843
0.05003307 ETH
59208132018-07-07 9:25:342419 days ago1530955534
0x69D368F9...cEEC67843
0.05015133 ETH
59103482018-07-05 14:10:582420 days ago1530799858
0x69D368F9...cEEC67843
0.05016061 ETH
59005192018-07-03 21:46:352422 days ago1530654395
0x69D368F9...cEEC67843
0.0500814 ETH
58910782018-07-02 6:54:172424 days ago1530514457
0x69D368F9...cEEC67843
0.05014566 ETH
58786132018-06-30 4:00:402426 days ago1530331240
0x69D368F9...cEEC67843
0.05002331 ETH
58680272018-06-28 8:11:342428 days ago1530173494
0x69D368F9...cEEC67843
0.08486544 ETH
57705402018-06-11 13:56:052444 days ago1528725365
0x69D368F9...cEEC67843
0.05012845 ETH
57577842018-06-09 7:32:132447 days ago1528529533
0x69D368F9...cEEC67843
0.05015148 ETH
57460502018-06-07 5:30:292449 days ago1528349429
0x69D368F9...cEEC67843
0.05014553 ETH
57349812018-06-05 6:09:542451 days ago1528178994
0x69D368F9...cEEC67843
0.05007719 ETH
57247492018-06-03 10:47:292453 days ago1528022849
0x69D368F9...cEEC67843
0.05004029 ETH
57153402018-06-01 18:54:022454 days ago1527879242
0x69D368F9...cEEC67843
0.05004867 ETH
57027742018-05-30 13:19:272456 days ago1527686367
0x69D368F9...cEEC67843
0.05003156 ETH
56934812018-05-28 21:31:032458 days ago1527543063
0x69D368F9...cEEC67843
0.05019219 ETH
56823362018-05-26 22:26:482460 days ago1527373608
0x69D368F9...cEEC67843
0.0500211 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.