ETH Price: $2,662.77 (+1.78%)

Contract

0x113e6A3650A3D91Db5415512E88217448F79e4f6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep48154142017-12-29 0:47:412600 days ago1514508461IN
0x113e6A36...48F79e4f6
0 ETH0.002552951
Transfer48153772017-12-29 0:39:192600 days ago1514507959IN
0x113e6A36...48F79e4f6
2.32803326 ETH0.0004210220
Sweep48026882017-12-26 21:11:582603 days ago1514322718IN
0x113e6A36...48F79e4f6
0 ETH0.0025496451
Transfer48026602017-12-26 21:05:212603 days ago1514322321IN
0x113e6A36...48F79e4f6
1 ETH0.0004420721
Sweep47605622017-12-19 15:09:122610 days ago1513696152IN
0x113e6A36...48F79e4f6
0 ETH0.0025496451
Transfer47605202017-12-19 14:56:562610 days ago1513695416IN
0x113e6A36...48F79e4f6
1 ETH0.0007115233.8
Sweep47004112017-12-09 3:57:492620 days ago1512791869IN
0x113e6A36...48F79e4f6
0 ETH0.0039945479.8
Transfer47003572017-12-09 3:42:422620 days ago1512790962IN
0x113e6A36...48F79e4f6
4.01996233 ETH0.001199957
Sweep46953592017-12-08 7:00:192621 days ago1512716419IN
0x113e6A36...48F79e4f6
0 ETH0.0038543877
Transfer46953282017-12-08 6:52:452621 days ago1512715965IN
0x113e6A36...48F79e4f6
0.898845 ETH0.001157855
Sweep46174402017-11-25 5:10:222634 days ago1511586622IN
0x113e6A36...48F79e4f6
0 ETH0.0010011420
Transfer46174332017-11-25 5:09:232634 days ago1511586563IN
0x113e6A36...48F79e4f6
1.99807417 ETH0.0003157615
Sweep43780722017-10-17 16:42:412673 days ago1508258561IN
0x113e6A36...48F79e4f6
0 ETH0.0015497831
Transfer43780662017-10-17 16:41:332673 days ago1508258493IN
0x113e6A36...48F79e4f6
1.6 ETH0.0004210220
Sweep42968442017-09-21 2:44:582699 days ago1505961898IN
0x113e6A36...48F79e4f6
0 ETH0.002552951
Transfer42968332017-09-21 2:39:472699 days ago1505961587IN
0x113e6A36...48F79e4f6
2.01212443 ETH0.000105255
Sweep42782822017-09-15 23:05:582704 days ago1505516758IN
0x113e6A36...48F79e4f6
0 ETH0.002552951
Transfer42782772017-09-15 23:04:342704 days ago1505516674IN
0x113e6A36...48F79e4f6
2.99938425 ETH0.0006172529.3218604
Sweep42754122017-09-15 4:05:232705 days ago1505448323IN
0x113e6A36...48F79e4f6
0 ETH0.002552951
Transfer42753962017-09-15 3:58:572705 days ago1505447937IN
0x113e6A36...48F79e4f6
1.9988975 ETH0.0005118924.31705117
Sweep42748122017-09-15 0:06:142705 days ago1505433974IN
0x113e6A36...48F79e4f6
0 ETH0.0025496451
Transfer42748052017-09-15 0:03:452705 days ago1505433825IN
0x113e6A36...48F79e4f6
3 ETH0.0005262725
Sweep42612082017-09-11 4:58:182709 days ago1505105898IN
0x113e6A36...48F79e4f6
0 ETH0.002552951
Transfer42612052017-09-11 4:52:052709 days ago1505105525IN
0x113e6A36...48F79e4f6
0.52011156 ETH0.0004420721
Sweep42562962017-09-09 19:44:592711 days ago1504986299IN
0x113e6A36...48F79e4f6
0 ETH0.002552951
View all transactions

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
48154142017-12-29 0:47:412600 days ago1514508461
0x113e6A36...48F79e4f6
2.32803326 ETH
48026882017-12-26 21:11:582603 days ago1514322718
0x113e6A36...48F79e4f6
1 ETH
47605622017-12-19 15:09:122610 days ago1513696152
0x113e6A36...48F79e4f6
1 ETH
47004112017-12-09 3:57:492620 days ago1512791869
0x113e6A36...48F79e4f6
4.01996233 ETH
46953592017-12-08 7:00:192621 days ago1512716419
0x113e6A36...48F79e4f6
0.898845 ETH
46174402017-11-25 5:10:222634 days ago1511586622
0x113e6A36...48F79e4f6
1.99807417 ETH
43780722017-10-17 16:42:412673 days ago1508258561
0x113e6A36...48F79e4f6
1.6 ETH
42968442017-09-21 2:44:582699 days ago1505961898
0x113e6A36...48F79e4f6
2.01212443 ETH
42782822017-09-15 23:05:582704 days ago1505516758
0x113e6A36...48F79e4f6
2.99938425 ETH
42754122017-09-15 4:05:232705 days ago1505448323
0x113e6A36...48F79e4f6
1.9988975 ETH
42748122017-09-15 0:06:142705 days ago1505433974
0x113e6A36...48F79e4f6
3 ETH
42612082017-09-11 4:58:182709 days ago1505105898
0x113e6A36...48F79e4f6
0.52011156 ETH
42562962017-09-09 19:44:592711 days ago1504986299
0x113e6A36...48F79e4f6
1.51769123 ETH
42531692017-09-08 22:34:132711 days ago1504910053
0x113e6A36...48F79e4f6
1.99922 ETH
42500002017-09-08 1:31:552712 days ago1504834315
0x113e6A36...48F79e4f6
0.19 ETH
42186402017-08-30 4:03:022721 days ago1504065782
0x113e6A36...48F79e4f6
0.26791 ETH
42185732017-08-30 3:34:582721 days ago1504064098
0x113e6A36...48F79e4f6
0.11 ETH
41955872017-08-23 20:00:582728 days ago1503518458
0x113e6A36...48F79e4f6
1.8 ETH
41955012017-08-23 19:33:442728 days ago1503516824
0x113e6A36...48F79e4f6
0.11 ETH
41886702017-08-22 4:28:102729 days ago1503376090  Contract Creation0 ETH
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.