ETH Price: $3,461.64 (+1.79%)
Gas: 4.74 Gwei

Contract

0x9a8D2bc77F4a7d7ede98C5B2bf61134369CD11F0
 

Overview

ETH Balance

0.00000000177221136 ETH

Eth Value

Less Than $0.01 (@ $3,461.64/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep77720162019-05-16 15:11:182049 days ago1558019478IN
0x9a8D2bc7...369CD11F0
0 ETH0.0024996550
Transfer77719962019-05-16 15:06:592049 days ago1558019219IN
0x9a8D2bc7...369CD11F0
0.20003393 ETH0.0002105110
Sweep77599912019-05-14 18:11:332051 days ago1557857493IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77599712019-05-14 18:08:172051 days ago1557857297IN
0x9a8D2bc7...369CD11F0
0.2011508 ETH0.0002105110
Sweep77531342019-05-13 16:44:012052 days ago1557765841IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77531102019-05-13 16:39:242052 days ago1557765564IN
0x9a8D2bc7...369CD11F0
0.20142398 ETH0.0002105110
Sweep77474052019-05-12 19:04:412053 days ago1557687881IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77473852019-05-12 19:01:132053 days ago1557687673IN
0x9a8D2bc7...369CD11F0
0.20261691 ETH0.0002105110
Sweep77411632019-05-11 19:42:062054 days ago1557603726IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77411482019-05-11 19:38:452054 days ago1557603525IN
0x9a8D2bc7...369CD11F0
0.20021125 ETH0.0002105110
Sweep77349162019-05-10 20:27:052055 days ago1557520025IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77349012019-05-10 20:24:222055 days ago1557519862IN
0x9a8D2bc7...369CD11F0
0.20017233 ETH0.0002105110
Sweep77292722019-05-09 23:16:022056 days ago1557443762IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77292572019-05-09 23:12:132056 days ago1557443533IN
0x9a8D2bc7...369CD11F0
0.20126085 ETH0.0002105110
Sweep77235422019-05-09 1:37:402057 days ago1557365860IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77235252019-05-09 1:34:092057 days ago1557365649IN
0x9a8D2bc7...369CD11F0
0.20116933 ETH0.0002105110
Sweep77175762019-05-08 3:11:492058 days ago1557285109IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77175542019-05-08 3:07:012058 days ago1557284821IN
0x9a8D2bc7...369CD11F0
0.20331181 ETH0.0002105110
Sweep77121312019-05-07 6:37:302059 days ago1557211050IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77121012019-05-07 6:32:492059 days ago1557210769IN
0x9a8D2bc7...369CD11F0
0.20134841 ETH0.0002105110
Sweep77067782019-05-06 10:38:432060 days ago1557139123IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77067612019-05-06 10:35:362060 days ago1557138936IN
0x9a8D2bc7...369CD11F0
0.20122614 ETH0.0002105110
Sweep77007402019-05-05 11:54:492061 days ago1557057289IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
Transfer77007252019-05-05 11:51:512061 days ago1557057111IN
0x9a8D2bc7...369CD11F0
0.20018161 ETH0.0002105110
Sweep76948552019-05-04 13:39:572061 days ago1556977197IN
0x9a8D2bc7...369CD11F0
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
77720162019-05-16 15:11:182049 days ago1558019478
0x9a8D2bc7...369CD11F0
0.20003394 ETH
77599912019-05-14 18:11:332051 days ago1557857493
0x9a8D2bc7...369CD11F0
0.20115081 ETH
77531342019-05-13 16:44:012052 days ago1557765841
0x9a8D2bc7...369CD11F0
0.20142398 ETH
77474052019-05-12 19:04:412053 days ago1557687881
0x9a8D2bc7...369CD11F0
0.20261691 ETH
77411632019-05-11 19:42:062054 days ago1557603726
0x9a8D2bc7...369CD11F0
0.20021125 ETH
77349162019-05-10 20:27:052055 days ago1557520025
0x9a8D2bc7...369CD11F0
0.20017234 ETH
77292722019-05-09 23:16:022056 days ago1557443762
0x9a8D2bc7...369CD11F0
0.20126085 ETH
77235422019-05-09 1:37:402057 days ago1557365860
0x9a8D2bc7...369CD11F0
0.20116933 ETH
77175762019-05-08 3:11:492058 days ago1557285109
0x9a8D2bc7...369CD11F0
0.20331181 ETH
77121312019-05-07 6:37:302059 days ago1557211050
0x9a8D2bc7...369CD11F0
0.20134841 ETH
77067782019-05-06 10:38:432060 days ago1557139123
0x9a8D2bc7...369CD11F0
0.20122615 ETH
77007402019-05-05 11:54:492061 days ago1557057289
0x9a8D2bc7...369CD11F0
0.20018161 ETH
76948552019-05-04 13:39:572061 days ago1556977197
0x9a8D2bc7...369CD11F0
0.20084001 ETH
76896462019-05-03 18:36:482062 days ago1556908608
0x9a8D2bc7...369CD11F0
0.20012721 ETH
76840242019-05-02 21:15:462063 days ago1556831746
0x9a8D2bc7...369CD11F0
0.2027859 ETH
76784242019-05-02 0:22:162064 days ago1556756536
0x9a8D2bc7...369CD11F0
0.20009787 ETH
76731302019-05-01 4:45:322065 days ago1556685932
0x9a8D2bc7...369CD11F0
0.20084628 ETH
76675292019-04-30 7:48:172066 days ago1556610497
0x9a8D2bc7...369CD11F0
0.20096577 ETH
76623152019-04-29 12:20:472066 days ago1556540447
0x9a8D2bc7...369CD11F0
0.20058528 ETH
76567562019-04-28 15:43:092067 days ago1556466189
0x9a8D2bc7...369CD11F0
0.20012762 ETH
76516132019-04-27 20:13:572068 days ago1556396037
0x9a8D2bc7...369CD11F0
0.20215814 ETH
76459332019-04-26 23:21:032069 days ago1556320863
0x9a8D2bc7...369CD11F0
0.20034736 ETH
76404802019-04-26 3:05:322070 days ago1556247932
0x9a8D2bc7...369CD11F0
0.20043362 ETH
76356082019-04-25 8:46:532071 days ago1556182013
0x9a8D2bc7...369CD11F0
0.20050232 ETH
76305582019-04-24 14:18:172071 days ago1556115497
0x9a8D2bc7...369CD11F0
0.20158868 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.