ETH Price: $2,199.64 (-0.44%)
Gas: 1.19 Gwei

Contract

0x196e240b7b5983385B5c2b4D833cb99Aa75738cC
 

Overview

ETH Balance

0.00000000421751592 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep58269462018-06-21 6:26:232445 days ago1529562383IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer58269162018-06-21 6:19:522445 days ago1529561992IN
0x196e240b...Aa75738cC
0.05002862 ETH0.000021051
Sweep58069592018-06-17 20:49:132448 days ago1529268553IN
0x196e240b...Aa75738cC
0 ETH0.0024964550
Transfer58069382018-06-17 20:45:172448 days ago1529268317IN
0x196e240b...Aa75738cC
0.05000639 ETH0.000021051
Sweep57873802018-06-14 12:27:142452 days ago1528979234IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer57873572018-06-14 12:21:562452 days ago1528978916IN
0x196e240b...Aa75738cC
0.05001788 ETH0.000021051
Sweep57685322018-06-11 5:17:242455 days ago1528694244IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer57685172018-06-11 5:13:532455 days ago1528694033IN
0x196e240b...Aa75738cC
0.05023993 ETH0.000021051
Sweep57511092018-06-08 3:13:152458 days ago1528427595IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer57510842018-06-08 3:08:172458 days ago1528427297IN
0x196e240b...Aa75738cC
0.05009322 ETH0.000021051
Sweep57337152018-06-05 0:53:242461 days ago1528160004IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer57336942018-06-05 0:47:522461 days ago1528159672IN
0x196e240b...Aa75738cC
0.0500947 ETH0.000021051
Sweep57166472018-06-02 0:15:232464 days ago1527898523IN
0x196e240b...Aa75738cC
0 ETH0.0024964550
Transfer57166252018-06-02 0:11:012464 days ago1527898261IN
0x196e240b...Aa75738cC
0.05034883 ETH0.000021051
Sweep57009012018-05-30 5:02:452467 days ago1527656565IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer57008852018-05-30 4:57:542467 days ago1527656274IN
0x196e240b...Aa75738cC
0.05014413 ETH0.000021051
Sweep56796482018-05-26 11:09:072471 days ago1527332947IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer56796282018-05-26 11:03:592471 days ago1527332639IN
0x196e240b...Aa75738cC
0.05033188 ETH0.000021051
Sweep56630352018-05-23 12:35:022474 days ago1527078902IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer56630002018-05-23 12:23:362474 days ago1527078216IN
0x196e240b...Aa75738cC
0.05009152 ETH0.000021051
Sweep56463882018-05-20 13:28:382477 days ago1526822918IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer56463652018-05-20 13:22:232477 days ago1526822543IN
0x196e240b...Aa75738cC
0.05014834 ETH0.000021051
Sweep56298632018-05-17 15:10:302480 days ago1526569830IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
Transfer56298222018-05-17 14:59:352480 days ago1526569175IN
0x196e240b...Aa75738cC
0.05014071 ETH0.000021051
Sweep56130042018-05-14 16:01:212483 days ago1526313681IN
0x196e240b...Aa75738cC
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
58269462018-06-21 6:26:232445 days ago1529562383
0x196e240b...Aa75738cC
0.05002862 ETH
58069592018-06-17 20:49:132448 days ago1529268553
0x196e240b...Aa75738cC
0.0500064 ETH
57873802018-06-14 12:27:142452 days ago1528979234
0x196e240b...Aa75738cC
0.05001789 ETH
57685322018-06-11 5:17:242455 days ago1528694244
0x196e240b...Aa75738cC
0.05023993 ETH
57511092018-06-08 3:13:152458 days ago1528427595
0x196e240b...Aa75738cC
0.05009323 ETH
57337152018-06-05 0:53:242461 days ago1528160004
0x196e240b...Aa75738cC
0.0500947 ETH
57166472018-06-02 0:15:232464 days ago1527898523
0x196e240b...Aa75738cC
0.05034884 ETH
57009012018-05-30 5:02:452467 days ago1527656565
0x196e240b...Aa75738cC
0.05014413 ETH
56796482018-05-26 11:09:072471 days ago1527332947
0x196e240b...Aa75738cC
0.05033188 ETH
56630352018-05-23 12:35:022474 days ago1527078902
0x196e240b...Aa75738cC
0.05009153 ETH
56463882018-05-20 13:28:382477 days ago1526822918
0x196e240b...Aa75738cC
0.05014835 ETH
56298632018-05-17 15:10:302480 days ago1526569830
0x196e240b...Aa75738cC
0.05014071 ETH
56130042018-05-14 16:01:212483 days ago1526313681
0x196e240b...Aa75738cC
0.05023335 ETH
55957082018-05-11 15:46:432486 days ago1526053603
0x196e240b...Aa75738cC
0.0501747 ETH
55792342018-05-08 18:19:042488 days ago1525803544
0x196e240b...Aa75738cC
0.05000772 ETH
55624682018-05-05 20:47:262491 days ago1525553246
0x196e240b...Aa75738cC
0.05004774 ETH
55461872018-05-02 23:57:532494 days ago1525305473
0x196e240b...Aa75738cC
0.05006071 ETH
55306972018-04-30 6:33:232497 days ago1525070003
0x196e240b...Aa75738cC
0.05016599 ETH
55137372018-04-27 8:05:172500 days ago1524816317
0x196e240b...Aa75738cC
0.05018843 ETH
54960392018-04-24 6:35:412503 days ago1524551741
0x196e240b...Aa75738cC
0.0500173 ETH
54786462018-04-21 7:03:522506 days ago1524294232
0x196e240b...Aa75738cC
0.05008204 ETH
54615762018-04-18 8:22:052509 days ago1524039725
0x196e240b...Aa75738cC
0.05003543 ETH
54425062018-04-15 2:25:042512 days ago1523759104
0x196e240b...Aa75738cC
0.05012506 ETH
54187062018-04-11 1:58:582516 days ago1523411938
0x196e240b...Aa75738cC
0.05025472 ETH
53961432018-04-07 8:33:222520 days ago1523090002
0x196e240b...Aa75738cC
0.05023127 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

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"}]

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.