ETH Price: $3,483.36 (+1.00%)
Gas: 6.04 Gwei

Contract

0xf20F2Ab388F6B1e1d788655B4eF0fedddF6Ef816
 

Overview

ETH Balance

0.000000004017425614 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep57233892018-06-03 5:01:082397 days ago1528002068IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024964550
Transfer57233722018-06-03 4:57:432397 days ago1528001863IN
0xf20F2Ab3...ddF6Ef816
0.05353176 ETH0.0002526112
Sweep57120882018-06-01 4:55:542399 days ago1527828954IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer57120682018-06-01 4:51:132399 days ago1527828673IN
0xf20F2Ab3...ddF6Ef816
0.05336943 ETH0.0002526112
Sweep57039732018-05-30 18:16:462400 days ago1527704206IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0025028550
Transfer57039552018-05-30 18:12:282400 days ago1527703948IN
0xf20F2Ab3...ddF6Ef816
0.10399083 ETH0.0002526112
Sweep56882512018-05-27 23:36:332403 days ago1527464193IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer56882352018-05-27 23:32:172403 days ago1527463937IN
0xf20F2Ab3...ddF6Ef816
0.05393361 ETH0.00016848
Sweep56805952018-05-26 14:59:042404 days ago1527346744IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer56805752018-05-26 14:53:272404 days ago1527346407IN
0xf20F2Ab3...ddF6Ef816
0.05135359 ETH0.00016848
Sweep56705812018-05-24 20:39:492406 days ago1527194389IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer56705512018-05-24 20:31:382406 days ago1527193898IN
0xf20F2Ab3...ddF6Ef816
0.05490328 ETH0.0002526112
Sweep56623232018-05-23 9:31:442408 days ago1527067904IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer56622442018-05-23 9:12:022408 days ago1527066722IN
0xf20F2Ab3...ddF6Ef816
0.06222431 ETH0.00016848
Sweep56469322018-05-20 15:48:562410 days ago1526831336IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer56469022018-05-20 15:41:412410 days ago1526830901IN
0xf20F2Ab3...ddF6Ef816
0.051255 ETH0.00016848
Sweep56374832018-05-18 23:26:582412 days ago1526686018IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0025028550
Transfer56374602018-05-18 23:19:582412 days ago1526685598IN
0xf20F2Ab3...ddF6Ef816
0.05906446 ETH0.00016848
Transfer56308962018-05-17 19:26:332413 days ago1526585193IN
0xf20F2Ab3...ddF6Ef816
0.0259472 ETH0.000199989.5
Sweep56254702018-05-16 20:36:392414 days ago1526502999IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
Transfer56254382018-05-16 20:29:402414 days ago1526502580IN
0xf20F2Ab3...ddF6Ef816
0.05072538 ETH0.000021051
Sweep56117742018-05-14 10:45:242417 days ago1526294724IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0025028550
Transfer56117192018-05-14 10:31:202417 days ago1526293880IN
0xf20F2Ab3...ddF6Ef816
0.0507976 ETH0.000021051
Transfer56016582018-05-12 16:24:362418 days ago1526142276IN
0xf20F2Ab3...ddF6Ef816
0.04235458 ETH0.000109465.2
Sweep55952832018-05-11 13:55:062419 days ago1526046906IN
0xf20F2Ab3...ddF6Ef816
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
57233892018-06-03 5:01:082397 days ago1528002068
0xf20F2Ab3...ddF6Ef816
0.05353176 ETH
57120882018-06-01 4:55:542399 days ago1527828954
0xf20F2Ab3...ddF6Ef816
0.05336943 ETH
57039732018-05-30 18:16:462400 days ago1527704206
0xf20F2Ab3...ddF6Ef816
0.10399083 ETH
56882512018-05-27 23:36:332403 days ago1527464193
0xf20F2Ab3...ddF6Ef816
0.05393361 ETH
56805952018-05-26 14:59:042404 days ago1527346744
0xf20F2Ab3...ddF6Ef816
0.05135359 ETH
56705812018-05-24 20:39:492406 days ago1527194389
0xf20F2Ab3...ddF6Ef816
0.05490328 ETH
56623232018-05-23 9:31:442408 days ago1527067904
0xf20F2Ab3...ddF6Ef816
0.06222431 ETH
56469322018-05-20 15:48:562410 days ago1526831336
0xf20F2Ab3...ddF6Ef816
0.051255 ETH
56374832018-05-18 23:26:582412 days ago1526686018
0xf20F2Ab3...ddF6Ef816
0.08501167 ETH
56254702018-05-16 20:36:392414 days ago1526502999
0xf20F2Ab3...ddF6Ef816
0.05072538 ETH
56117742018-05-14 10:45:242417 days ago1526294724
0xf20F2Ab3...ddF6Ef816
0.09315219 ETH
55952832018-05-11 13:55:062419 days ago1526046906
0xf20F2Ab3...ddF6Ef816
0.05034656 ETH
55869842018-05-10 2:43:522421 days ago1525920232
0xf20F2Ab3...ddF6Ef816
0.05014735 ETH
55706422018-05-07 6:42:302424 days ago1525675350
0xf20F2Ab3...ddF6Ef816
0.05028887 ETH
55610132018-05-05 14:47:462425 days ago1525531666
0xf20F2Ab3...ddF6Ef816
0.05009807 ETH
55509622018-05-03 20:15:292427 days ago1525378529
0xf20F2Ab3...ddF6Ef816
0.05010975 ETH
55423182018-05-02 7:37:042429 days ago1525246624
0xf20F2Ab3...ddF6Ef816
0.05062634 ETH
55337582018-04-30 19:29:582430 days ago1525116598
0xf20F2Ab3...ddF6Ef816
0.05020399 ETH
55248852018-04-29 6:17:372432 days ago1524982657
0xf20F2Ab3...ddF6Ef816
0.05032613 ETH
55158882018-04-27 17:02:462433 days ago1524848566
0xf20F2Ab3...ddF6Ef816
0.05007053 ETH
55067452018-04-26 2:58:282435 days ago1524711508
0xf20F2Ab3...ddF6Ef816
0.05009323 ETH
54969862018-04-24 10:43:172437 days ago1524566597
0xf20F2Ab3...ddF6Ef816
0.05040978 ETH
54879692018-04-22 21:02:522438 days ago1524430972
0xf20F2Ab3...ddF6Ef816
0.05036314 ETH
54749132018-04-20 15:43:192440 days ago1524238999
0xf20F2Ab3...ddF6Ef816
0.05002412 ETH
54540832018-04-17 1:24:262444 days ago1523928266
0xf20F2Ab3...ddF6Ef816
0.05025239 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.