ETH Price: $2,551.41 (-0.49%)

Contract

0xF2249Bb3CA3E326dA8c8EB712257F4994Ed56bf8
 

Overview

ETH Balance

0.000000001008192112 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep55995842018-05-12 7:40:042323 days ago1526110804IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer55995222018-05-12 7:25:362323 days ago1526109936IN
0xF2249Bb3...94Ed56bf8
0.10003893 ETH0.000021051
Sweep55543682018-05-04 10:34:332331 days ago1525430073IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer55543422018-05-04 10:27:032331 days ago1525429623IN
0xF2249Bb3...94Ed56bf8
0.10003899 ETH0.000021051
Sweep55125392018-04-27 2:52:432339 days ago1524797563IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer55125202018-04-27 2:47:482339 days ago1524797268IN
0xF2249Bb3...94Ed56bf8
0.10011727 ETH0.000021051
Sweep54702192018-04-19 20:06:392346 days ago1524168399IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer54701722018-04-19 19:56:102346 days ago1524167770IN
0xF2249Bb3...94Ed56bf8
0.10015385 ETH0.000021051
Sweep54339932018-04-13 15:57:302352 days ago1523635050IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer54339672018-04-13 15:51:212352 days ago1523634681IN
0xF2249Bb3...94Ed56bf8
0.10010202 ETH0.000021051
Sweep54158052018-04-10 14:33:022355 days ago1523370782IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer54157412018-04-10 14:19:052355 days ago1523369945IN
0xF2249Bb3...94Ed56bf8
0.10019161 ETH0.000021051
Sweep54019312018-04-08 7:21:122357 days ago1523172072IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer54018702018-04-08 7:08:172357 days ago1523171297IN
0xF2249Bb3...94Ed56bf8
0.10128211 ETH0.000021051
Sweep53871312018-04-05 20:55:582360 days ago1522961758IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer53870742018-04-05 20:43:012360 days ago1522960981IN
0xF2249Bb3...94Ed56bf8
0.10022695 ETH0.000021051
Sweep53731852018-04-03 13:01:212362 days ago1522760481IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer53731332018-04-03 12:49:512362 days ago1522759791IN
0xF2249Bb3...94Ed56bf8
0.10050527 ETH0.000021051
Sweep53597502018-04-01 7:47:322364 days ago1522568852IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer53597132018-04-01 7:39:432364 days ago1522568383IN
0xF2249Bb3...94Ed56bf8
0.10025446 ETH0.000021051
Sweep53458982018-03-30 0:23:572367 days ago1522369437IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer53458712018-03-30 0:16:242367 days ago1522368984IN
0xF2249Bb3...94Ed56bf8
0.10006636 ETH0.000021051
Sweep53320202018-03-27 16:09:502369 days ago1522166990IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
Transfer53319882018-03-27 16:00:342369 days ago1522166434IN
0xF2249Bb3...94Ed56bf8
0.10017453 ETH0.000021051
Sweep53180482018-03-25 7:57:152371 days ago1521964635IN
0xF2249Bb3...94Ed56bf8
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
55995842018-05-12 7:40:042323 days ago1526110804
0xF2249Bb3...94Ed56bf8
0.10003894 ETH
55543682018-05-04 10:34:332331 days ago1525430073
0xF2249Bb3...94Ed56bf8
0.100039 ETH
55125392018-04-27 2:52:432339 days ago1524797563
0xF2249Bb3...94Ed56bf8
0.10011727 ETH
54702192018-04-19 20:06:392346 days ago1524168399
0xF2249Bb3...94Ed56bf8
0.10015386 ETH
54339932018-04-13 15:57:302352 days ago1523635050
0xF2249Bb3...94Ed56bf8
0.10010202 ETH
54158052018-04-10 14:33:022355 days ago1523370782
0xF2249Bb3...94Ed56bf8
0.10019162 ETH
54019312018-04-08 7:21:122357 days ago1523172072
0xF2249Bb3...94Ed56bf8
0.10128211 ETH
53871312018-04-05 20:55:582360 days ago1522961758
0xF2249Bb3...94Ed56bf8
0.10022696 ETH
53731852018-04-03 13:01:212362 days ago1522760481
0xF2249Bb3...94Ed56bf8
0.10050527 ETH
53597502018-04-01 7:47:322364 days ago1522568852
0xF2249Bb3...94Ed56bf8
0.10025447 ETH
53458982018-03-30 0:23:572367 days ago1522369437
0xF2249Bb3...94Ed56bf8
0.10006636 ETH
53320202018-03-27 16:09:502369 days ago1522166990
0xF2249Bb3...94Ed56bf8
0.10017454 ETH
53180482018-03-25 7:57:152371 days ago1521964635
0xF2249Bb3...94Ed56bf8
0.10006804 ETH
53035592018-03-22 22:06:112374 days ago1521756371
0xF2249Bb3...94Ed56bf8
0.10023747 ETH
52899432018-03-20 15:43:472376 days ago1521560627
0xF2249Bb3...94Ed56bf8
0.10200475 ETH
52757962018-03-18 6:26:522379 days ago1521354412
0xF2249Bb3...94Ed56bf8
0.10035526 ETH
52606182018-03-15 16:56:562381 days ago1521133016
0xF2249Bb3...94Ed56bf8
0.1000414 ETH
52472172018-03-13 9:37:212383 days ago1520933841
0xF2249Bb3...94Ed56bf8
0.10051581 ETH
52333392018-03-11 1:05:152386 days ago1520730315
0xF2249Bb3...94Ed56bf8
0.10151191 ETH
52193672018-03-08 16:04:112388 days ago1520525051
0xF2249Bb3...94Ed56bf8
0.1003228 ETH
52060222018-03-06 9:50:052390 days ago1520329805
0xF2249Bb3...94Ed56bf8
0.10023513 ETH
51930432018-03-04 4:52:382393 days ago1520139158
0xF2249Bb3...94Ed56bf8
0.10011112 ETH
51804992018-03-02 1:51:142395 days ago1519955474
0xF2249Bb3...94Ed56bf8
0.10015109 ETH
51674142018-02-27 20:39:532397 days ago1519763993
0xF2249Bb3...94Ed56bf8
0.10138339 ETH
51545682018-02-25 15:49:352399 days ago1519573775
0xF2249Bb3...94Ed56bf8
0.1009717 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.