ETH Price: $2,107.76 (+3.81%)

Contract

0x118D010A4a0975c7a739d5c8A10cD5CD857621AA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep66878302018-11-12 1:06:522678 days ago1541984812IN
0x118D010A...D857621AA
0 ETH0.0025028550
Transfer66878142018-11-12 1:03:422678 days ago1541984622IN
0x118D010A...D857621AA
1.6113756 ETH0.00008424
Sweep65056242018-10-13 5:54:212708 days ago1539410061IN
0x118D010A...D857621AA
0 ETH0.0025060550
Transfer65055982018-10-13 5:47:182708 days ago1539409638IN
0x118D010A...D857621AA
31.49912482 ETH0.000063153
Sweep64595192018-10-05 18:38:002715 days ago1538764680IN
0x118D010A...D857621AA
0 ETH0.0025028550
Transfer64594992018-10-05 18:32:312715 days ago1538764351IN
0x118D010A...D857621AA
11.87682988 ETH0.000105255
Sweep64197242018-09-29 6:38:422721 days ago1538203122IN
0x118D010A...D857621AA
0 ETH0.0025028550
Transfer64197052018-09-29 6:33:132721 days ago1538202793IN
0x118D010A...D857621AA
0.66402164 ETH0.0003157615
Sweep63280722018-09-14 4:14:522737 days ago1536898492IN
0x118D010A...D857621AA
0 ETH0.0025060550
Transfer63280422018-09-14 4:06:032737 days ago1536897963IN
0x118D010A...D857621AA
23.14410455 ETH0.000147357
Sweep62447672018-08-31 5:11:212751 days ago1535692281IN
0x118D010A...D857621AA
0 ETH0.0025060550
Transfer62447432018-08-31 5:06:212751 days ago1535691981IN
0x118D010A...D857621AA
35.8900741 ETH0.00012636
Sweep61205492018-08-10 5:27:592772 days ago1533878879IN
0x118D010A...D857621AA
0 ETH0.0050057100
Transfer61205312018-08-10 5:23:512772 days ago1533878631IN
0x118D010A...D857621AA
10.22979865 ETH0.0010946552
Sweep60311892018-07-26 3:30:562787 days ago1532575856IN
0x118D010A...D857621AA
0 ETH0.0050057100
Transfer60311652018-07-26 3:25:492787 days ago1532575549IN
0x118D010A...D857621AA
1.917706 ETH0.00008424
Sweep58144052018-06-19 2:53:402824 days ago1529376820IN
0x118D010A...D857621AA
0 ETH0.0025028550
Transfer58143652018-06-19 2:45:002824 days ago1529376300IN
0x118D010A...D857621AA
0.157787 ETH0.000063153
Sweep57952112018-06-15 20:52:272827 days ago1529095947IN
0x118D010A...D857621AA
0 ETH0.0025028550
Transfer57951922018-06-15 20:46:472827 days ago1529095607IN
0x118D010A...D857621AA
3.6842787 ETH0.0002105110
Sweep57909252018-06-15 2:58:112828 days ago1529031491IN
0x118D010A...D857621AA
0 ETH0.0025028550
Transfer57909062018-06-15 2:53:222828 days ago1529031202IN
0x118D010A...D857621AA
17.00511025 ETH0.0002105110
Sweep57339492018-06-05 1:50:362838 days ago1528163436IN
0x118D010A...D857621AA
0 ETH0.0025060550
Transfer57339342018-06-05 1:45:462838 days ago1528163146IN
0x118D010A...D857621AA
24.11254296 ETH0.0002105110
Sweep56332262018-05-18 5:21:102856 days ago1526620870IN
0x118D010A...D857621AA
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer66878302018-11-12 1:06:522678 days ago1541984812
0x118D010A...D857621AA
1.6113756 ETH
Transfer65056242018-10-13 5:54:212708 days ago1539410061
0x118D010A...D857621AA
31.49912482 ETH
Transfer64595192018-10-05 18:38:002715 days ago1538764680
0x118D010A...D857621AA
11.87682988 ETH
Transfer64197242018-09-29 6:38:422721 days ago1538203122
0x118D010A...D857621AA
0.66402164 ETH
Transfer63280722018-09-14 4:14:522737 days ago1536898492
0x118D010A...D857621AA
23.14410455 ETH
Transfer62447672018-08-31 5:11:212751 days ago1535692281
0x118D010A...D857621AA
35.8900741 ETH
Transfer61205492018-08-10 5:27:592772 days ago1533878879
0x118D010A...D857621AA
10.22979865 ETH
Transfer60311892018-07-26 3:30:562787 days ago1532575856
0x118D010A...D857621AA
1.917706 ETH
Transfer58144052018-06-19 2:53:402824 days ago1529376820
0x118D010A...D857621AA
0.157787 ETH
Transfer57952112018-06-15 20:52:272827 days ago1529095947
0x118D010A...D857621AA
3.6842787 ETH
Transfer57909252018-06-15 2:58:112828 days ago1529031491
0x118D010A...D857621AA
17.00511025 ETH
Transfer57339492018-06-05 1:50:362838 days ago1528163436
0x118D010A...D857621AA
24.11254296 ETH
Transfer56332262018-05-18 5:21:102856 days ago1526620870
0x118D010A...D857621AA
7.51938531 ETH
Transfer56034432018-05-12 23:47:522861 days ago1526168872
0x118D010A...D857621AA
0.3284442 ETH
Transfer55686812018-05-06 22:34:472867 days ago1525646087
0x118D010A...D857621AA
2.49017083 ETH
Transfer55008142018-04-25 2:30:582879 days ago1524623458
0x118D010A...D857621AA
0.51899938 ETH
Transfer54571602018-04-17 14:06:462886 days ago1523974006
0x118D010A...D857621AA
5.95010612 ETH
Transfer53948872018-04-07 3:27:132897 days ago1523071633
0x118D010A...D857621AA
1.3182158 ETH
Transfer53094222018-03-23 21:28:542911 days ago1521840534
0x118D010A...D857621AA
0.61688718 ETH
Transfer51343202018-02-22 5:11:142941 days ago1519276274
0x118D010A...D857621AA
0.52039092 ETH
Transfer50306312018-02-04 18:16:462958 days ago1517768206
0x118D010A...D857621AA
0.4053768 ETH
Transfer50029452018-01-31 1:38:482963 days ago1517362728
0x118D010A...D857621AA
0.44661939 ETH
Transfer49623482018-01-24 5:33:422970 days ago1516772022
0x118D010A...D857621AA
0.72710834 ETH
Transfer49268242018-01-18 2:38:112976 days ago1516243091
0x118D010A...D857621AA
0.53338267 ETH
Transfer49057942018-01-14 7:17:502979 days ago1515914270
0x118D010A...D857621AA
0.93582038 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.