ETH Price: $3,276.86 (+0.97%)
Gas: 1.64 Gwei

Contract

0x2a39c268EA4659E52ABeDe56b0cc6eb1b6243cE1
 

Overview

ETH Balance

0.000000001718855823 ETH

Eth Value

Less Than $0.01 (@ $3,276.86/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep65500212018-10-20 11:41:542275 days ago1540035714IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer65498332018-10-20 10:54:502275 days ago1540032890IN
0x2a39c268...1b6243cE1
0.09301473 ETH0.000021051
Sweep65069482018-10-13 10:57:392282 days ago1539428259IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer65069252018-10-13 10:52:142282 days ago1539427934IN
0x2a39c268...1b6243cE1
0.15733748 ETH0.000021051
Sweep64637242018-10-06 10:54:152289 days ago1538823255IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer64637052018-10-06 10:48:462289 days ago1538822926IN
0x2a39c268...1b6243cE1
0.15410448 ETH0.000021051
Sweep64208062018-09-29 10:50:422296 days ago1538218242IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer64207772018-09-29 10:42:352296 days ago1538217755IN
0x2a39c268...1b6243cE1
0.14327543 ETH0.000021051
Sweep63781512018-09-22 10:49:202303 days ago1537613360IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer63781312018-09-22 10:44:022303 days ago1537613042IN
0x2a39c268...1b6243cE1
0.16161923 ETH0.000021051
Sweep63358062018-09-15 10:51:452310 days ago1537008705IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer63357692018-09-15 10:43:402310 days ago1537008220IN
0x2a39c268...1b6243cE1
0.17471931 ETH0.000021051
Sweep62937172018-09-08 10:40:502317 days ago1536403250IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer62936972018-09-08 10:35:102317 days ago1536402910IN
0x2a39c268...1b6243cE1
0.18598255 ETH0.000021051
Sweep62520042018-09-01 10:46:342324 days ago1535798794IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer62519802018-09-01 10:41:232324 days ago1535798483IN
0x2a39c268...1b6243cE1
0.20429634 ETH0.000021051
Sweep62105162018-08-25 10:37:582331 days ago1535193478IN
0x2a39c268...1b6243cE1
0 ETH0.0025028550
Transfer62104932018-08-25 10:33:092331 days ago1535193189IN
0x2a39c268...1b6243cE1
0.23354574 ETH0.000021051
Sweep61690802018-08-18 10:35:272338 days ago1534588527IN
0x2a39c268...1b6243cE1
0 ETH0.0050057100
Transfer61690522018-08-18 10:27:442338 days ago1534588064IN
0x2a39c268...1b6243cE1
0.2148428 ETH0.000021051
Sweep61277322018-08-11 10:24:142345 days ago1533983054IN
0x2a39c268...1b6243cE1
0 ETH0.0050057100
Transfer61277102018-08-11 10:19:072345 days ago1533982747IN
0x2a39c268...1b6243cE1
0.2393166 ETH0.000021051
Sweep60862402018-08-04 10:22:222352 days ago1533378142IN
0x2a39c268...1b6243cE1
0 ETH0.0050057100
Transfer60862162018-08-04 10:16:432352 days ago1533377803IN
0x2a39c268...1b6243cE1
0.20932723 ETH0.000021051
Sweep60446632018-07-28 10:18:512359 days ago1532773131IN
0x2a39c268...1b6243cE1
0 ETH0.0050057100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
65500212018-10-20 11:41:542275 days ago1540035714
0x2a39c268...1b6243cE1
0.09301474 ETH
65069482018-10-13 10:57:392282 days ago1539428259
0x2a39c268...1b6243cE1
0.15733748 ETH
64637242018-10-06 10:54:152289 days ago1538823255
0x2a39c268...1b6243cE1
0.15410449 ETH
64208062018-09-29 10:50:422296 days ago1538218242
0x2a39c268...1b6243cE1
0.14327543 ETH
63781512018-09-22 10:49:202303 days ago1537613360
0x2a39c268...1b6243cE1
0.16161923 ETH
63358062018-09-15 10:51:452310 days ago1537008705
0x2a39c268...1b6243cE1
0.17471932 ETH
62937172018-09-08 10:40:502317 days ago1536403250
0x2a39c268...1b6243cE1
0.18598255 ETH
62520042018-09-01 10:46:342324 days ago1535798794
0x2a39c268...1b6243cE1
0.20429635 ETH
62105162018-08-25 10:37:582331 days ago1535193478
0x2a39c268...1b6243cE1
0.23354574 ETH
61690802018-08-18 10:35:272338 days ago1534588527
0x2a39c268...1b6243cE1
0.2148428 ETH
61277322018-08-11 10:24:142345 days ago1533983054
0x2a39c268...1b6243cE1
0.23931661 ETH
60862402018-08-04 10:22:222352 days ago1533378142
0x2a39c268...1b6243cE1
0.20932723 ETH
60446632018-07-28 10:18:512359 days ago1532773131
0x2a39c268...1b6243cE1
0.21790613 ETH
60033552018-07-21 10:23:022366 days ago1532168582
0x2a39c268...1b6243cE1
0.20019316 ETH
59622012018-07-14 10:24:242373 days ago1531563864
0x2a39c268...1b6243cE1
0.16203624 ETH
59209882018-07-07 10:09:162380 days ago1530958156
0x2a39c268...1b6243cE1
0.22988722 ETH
58801562018-06-30 10:09:242387 days ago1530353364
0x2a39c268...1b6243cE1
0.1966206 ETH
58394432018-06-23 10:03:132394 days ago1529748193
0x2a39c268...1b6243cE1
0.16808864 ETH
57983682018-06-16 9:58:482401 days ago1529143128
0x2a39c268...1b6243cE1
0.19328152 ETH
57583152018-06-09 9:53:542408 days ago1528538034
0x2a39c268...1b6243cE1
0.21803504 ETH
57189082018-06-02 9:53:142415 days ago1527933194
0x2a39c268...1b6243cE1
0.20545844 ETH
56793492018-05-26 9:50:082422 days ago1527328208
0x2a39c268...1b6243cE1
0.17613178 ETH
56399292018-05-19 9:48:242429 days ago1526723304
0x2a39c268...1b6243cE1
0.1988562 ETH
56001252018-05-12 9:55:142436 days ago1526118914
0x2a39c268...1b6243cE1
0.21197171 ETH
55598522018-05-05 9:46:442443 days ago1525513604
0x2a39c268...1b6243cE1
0.22775249 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.