ETH Price: $2,556.26 (+4.84%)

Contract

0xf156E5147687409BaD5Ff804AeC8A884ee57D34C
 

Overview

ETH Balance

0.000000001 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep63058342018-09-10 11:45:332201 days ago1536579933IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer63058042018-09-10 11:38:412201 days ago1536579521IN
0xf156E514...4ee57D34C
0.05734119 ETH0.00012636
Sweep63041282018-09-10 4:57:402202 days ago1536555460IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer63041062018-09-10 4:50:332202 days ago1536555033IN
0xf156E514...4ee57D34C
0.05311977 ETH0.00012636
Sweep63023872018-09-09 21:58:282202 days ago1536530308IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer63023612018-09-09 21:53:182202 days ago1536529998IN
0xf156E514...4ee57D34C
0.05143643 ETH0.00012636
Sweep62995632018-09-09 10:26:182202 days ago1536488778IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62995422018-09-09 10:21:262202 days ago1536488486IN
0xf156E514...4ee57D34C
0.05446222 ETH0.00012636
Sweep62948762018-09-08 15:17:362203 days ago1536419856IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62948582018-09-08 15:13:352203 days ago1536419615IN
0xf156E514...4ee57D34C
0.05317153 ETH0.00012636
Sweep62925762018-09-08 6:05:352204 days ago1536386735IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62925622018-09-08 6:01:162204 days ago1536386476IN
0xf156E514...4ee57D34C
0.05399523 ETH0.00012636
Sweep62914532018-09-08 1:28:002204 days ago1536370080IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62914382018-09-08 1:24:162204 days ago1536369856IN
0xf156E514...4ee57D34C
0.05154952 ETH0.00012636
Sweep62895482018-09-07 17:45:102204 days ago1536342310IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62895322018-09-07 17:42:062204 days ago1536342126IN
0xf156E514...4ee57D34C
0.05192981 ETH0.00012636
Sweep62881102018-09-07 11:54:522204 days ago1536321292IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62880902018-09-07 11:50:102204 days ago1536321010IN
0xf156E514...4ee57D34C
0.05047106 ETH0.00012636
Sweep62867262018-09-07 6:20:572205 days ago1536301257IN
0xf156E514...4ee57D34C
0 ETH0.0024964550
Transfer62867082018-09-07 6:16:592205 days ago1536301019IN
0xf156E514...4ee57D34C
0.05039999 ETH0.00012636
Sweep62859192018-09-07 3:12:282205 days ago1536289948IN
0xf156E514...4ee57D34C
0 ETH0.0024996550
Transfer62858932018-09-07 3:07:022205 days ago1536289622IN
0xf156E514...4ee57D34C
0.06128502 ETH0.00012636
Sweep62854882018-09-07 1:22:052205 days ago1536283325IN
0xf156E514...4ee57D34C
0 ETH0.0025028550
Transfer62854662018-09-07 1:16:462205 days ago1536283006IN
0xf156E514...4ee57D34C
0.08524472 ETH0.00012636
Sweep62843432018-09-06 20:50:222205 days ago1536267022IN
0xf156E514...4ee57D34C
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
63058342018-09-10 11:45:332201 days ago1536579933
0xf156E514...4ee57D34C
0.0573412 ETH
63041282018-09-10 4:57:402202 days ago1536555460
0xf156E514...4ee57D34C
0.05311978 ETH
63023872018-09-09 21:58:282202 days ago1536530308
0xf156E514...4ee57D34C
0.05143643 ETH
62995632018-09-09 10:26:182202 days ago1536488778
0xf156E514...4ee57D34C
0.05446222 ETH
62948762018-09-08 15:17:362203 days ago1536419856
0xf156E514...4ee57D34C
0.05317154 ETH
62925762018-09-08 6:05:352204 days ago1536386735
0xf156E514...4ee57D34C
0.05399523 ETH
62914532018-09-08 1:28:002204 days ago1536370080
0xf156E514...4ee57D34C
0.05154953 ETH
62895482018-09-07 17:45:102204 days ago1536342310
0xf156E514...4ee57D34C
0.05192981 ETH
62881102018-09-07 11:54:522204 days ago1536321292
0xf156E514...4ee57D34C
0.05047107 ETH
62867262018-09-07 6:20:572205 days ago1536301257
0xf156E514...4ee57D34C
0.0504 ETH
62859192018-09-07 3:12:282205 days ago1536289948
0xf156E514...4ee57D34C
0.06128502 ETH
62854882018-09-07 1:22:052205 days ago1536283325
0xf156E514...4ee57D34C
0.08524472 ETH
62843432018-09-06 20:50:222205 days ago1536267022
0xf156E514...4ee57D34C
0.10827971 ETH
62824742018-09-06 13:24:292205 days ago1536240269
0xf156E514...4ee57D34C
0.07264402 ETH
62815292018-09-06 9:36:302205 days ago1536226590
0xf156E514...4ee57D34C
0.0672662 ETH
62811042018-09-06 7:50:592205 days ago1536220259
0xf156E514...4ee57D34C
0.0590433 ETH
62805352018-09-06 5:37:142206 days ago1536212234
0xf156E514...4ee57D34C
0.07799694 ETH
62792672018-09-06 0:32:312206 days ago1536193951
0xf156E514...4ee57D34C
0.05897488 ETH
62770412018-09-05 15:34:282206 days ago1536161668
0xf156E514...4ee57D34C
0.05853634 ETH
62747312018-09-05 6:18:592207 days ago1536128339
0xf156E514...4ee57D34C
0.05458099 ETH
62737222018-09-05 2:12:392207 days ago1536113559
0xf156E514...4ee57D34C
0.05147775 ETH
62727892018-09-04 22:25:292207 days ago1536099929
0xf156E514...4ee57D34C
0.05065385 ETH
62718632018-09-04 18:48:422207 days ago1536086922
0xf156E514...4ee57D34C
0.05061495 ETH
62712172018-09-04 16:20:252207 days ago1536078025
0xf156E514...4ee57D34C
0.06479169 ETH
62702402018-09-04 12:19:452207 days ago1536063585
0xf156E514...4ee57D34C
0.06392195 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.