ETH Price: $2,604.28 (+2.36%)

Contract

0x9c8b21fA40ec808A0FB5d496058c878e16FEd887
 

Overview

ETH Balance

0.000000004431537128 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep110003112020-10-06 5:27:131446 days ago1601962033IN
0x9c8b21fA...e16FEd887
0 ETH0.0029404251.60000175
Transfer110002922020-10-06 5:22:531446 days ago1601961773IN
0x9c8b21fA...e16FEd887
0.10005277 ETH0.0006336330.1
Sweep109179852020-09-23 9:12:571459 days ago1600852377IN
0x9c8b21fA...e16FEd887
0 ETH0.00765878134.4
Transfer109179702020-09-23 9:09:221459 days ago1600852162IN
0x9c8b21fA...e16FEd887
0.10008474 ETH0.0006336330.1
Sweep108624392020-09-14 21:08:491468 days ago1600117729IN
0x9c8b21fA...e16FEd887
0 ETH0.00847936148.8
Transfer108624222020-09-14 21:05:111468 days ago1600117511IN
0x9c8b21fA...e16FEd887
0.10034928 ETH0.0006336330.1
Sweep107909192020-09-03 22:01:381479 days ago1599170498IN
0x9c8b21fA...e16FEd887
0 ETH0.01122034196.9
Transfer107909002020-09-03 21:57:261479 days ago1599170246IN
0x9c8b21fA...e16FEd887
0.10165969 ETH0.0006336330.1
Sweep107348042020-08-26 7:46:361487 days ago1598427996IN
0x9c8b21fA...e16FEd887
0 ETH0.0050146888
Transfer107347772020-08-26 7:39:451487 days ago1598427585IN
0x9c8b21fA...e16FEd887
0.10029666 ETH0.0006336330.1
Transfer106574002020-08-14 9:47:131499 days ago1597398433IN
0x9c8b21fA...e16FEd887
0.10063049 ETH0.0006336330.1
Sweep105796002020-08-02 9:34:441511 days ago1596360884IN
0x9c8b21fA...e16FEd887
0 ETH0.0054705696.00000185
Transfer105795842020-08-02 9:31:241511 days ago1596360684IN
0x9c8b21fA...e16FEd887
0.10041578 ETH0.0006336330.1
Sweep104435062020-07-12 8:03:081532 days ago1594540988IN
0x9c8b21fA...e16FEd887
0 ETH0.0020856536.6
Transfer104434852020-07-12 7:57:221532 days ago1594540642IN
0x9c8b21fA...e16FEd887
0.10003086 ETH0.0006315330
Sweep103511602020-06-28 0:56:361547 days ago1593305796IN
0x9c8b21fA...e16FEd887
0 ETH0.0018359932.21885496
Transfer103511272020-06-28 0:51:331547 days ago1593305493IN
0x9c8b21fA...e16FEd887
0.10019163 ETH0.0006315330
Sweep101967692020-06-04 3:03:191570 days ago1591239799IN
0x9c8b21fA...e16FEd887
0 ETH0.0021369337.5
Transfer101967462020-06-04 2:59:421570 days ago1591239582IN
0x9c8b21fA...e16FEd887
0.10008927 ETH0.0006315330
Sweep101110202020-05-21 19:02:261584 days ago1590087746IN
0x9c8b21fA...e16FEd887
0 ETH0.0030771954
Transfer101110052020-05-21 18:59:251584 days ago1590087565IN
0x9c8b21fA...e16FEd887
0.10008475 ETH0.0006315330
Sweep100312812020-05-09 9:35:341596 days ago1589016934IN
0x9c8b21fA...e16FEd887
0 ETH0.001253422
Transfer100312672020-05-09 9:33:041596 days ago1589016784IN
0x9c8b21fA...e16FEd887
0.05007156 ETH0.0002105110
Sweep99866232020-05-02 12:04:011603 days ago1588421041IN
0x9c8b21fA...e16FEd887
0 ETH0.001253422
Transfer99865962020-05-02 11:59:011603 days ago1588420741IN
0x9c8b21fA...e16FEd887
0.05018377 ETH0.0002105110
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
110003112020-10-06 5:27:131446 days ago1601962033
0x9c8b21fA...e16FEd887
0.10005278 ETH
109179852020-09-23 9:12:571459 days ago1600852377
0x9c8b21fA...e16FEd887
0.10008475 ETH
108624392020-09-14 21:08:491468 days ago1600117729
0x9c8b21fA...e16FEd887
0.10034928 ETH
107909192020-09-03 22:01:381479 days ago1599170498
0x9c8b21fA...e16FEd887
0.1016597 ETH
107348042020-08-26 7:46:361487 days ago1598427996
0x9c8b21fA...e16FEd887
0.20092716 ETH
105796002020-08-02 9:34:441511 days ago1596360884
0x9c8b21fA...e16FEd887
0.10041578 ETH
104435062020-07-12 8:03:081532 days ago1594540988
0x9c8b21fA...e16FEd887
0.10003087 ETH
103511602020-06-28 0:56:361547 days ago1593305796
0x9c8b21fA...e16FEd887
0.10019164 ETH
101967692020-06-04 3:03:191570 days ago1591239799
0x9c8b21fA...e16FEd887
0.10008928 ETH
101110202020-05-21 19:02:261584 days ago1590087746
0x9c8b21fA...e16FEd887
0.10008475 ETH
100312812020-05-09 9:35:341596 days ago1589016934
0x9c8b21fA...e16FEd887
0.05007156 ETH
99866232020-05-02 12:04:011603 days ago1588421041
0x9c8b21fA...e16FEd887
0.05018378 ETH
99433262020-04-25 18:45:031610 days ago1587840303
0x9c8b21fA...e16FEd887
0.05024619 ETH
99120532020-04-20 22:36:411615 days ago1587422201
0x9c8b21fA...e16FEd887
0.05003136 ETH
98758692020-04-15 8:14:341620 days ago1586938474
0x9c8b21fA...e16FEd887
0.05031802 ETH
98464082020-04-10 19:28:311625 days ago1586546911
0x9c8b21fA...e16FEd887
0.05013583 ETH
98171212020-04-06 7:14:171629 days ago1586157257
0x9c8b21fA...e16FEd887
0.0501338 ETH
97736092020-03-30 14:34:521636 days ago1585578892
0x9c8b21fA...e16FEd887
0.05024173 ETH
97445732020-03-26 3:43:491640 days ago1585194229
0x9c8b21fA...e16FEd887
0.05016537 ETH
97075092020-03-20 8:34:381646 days ago1584693278
0x9c8b21fA...e16FEd887
0.05002146 ETH
96885772020-03-17 10:48:301649 days ago1584442110
0x9c8b21fA...e16FEd887
0.050111 ETH
96708522020-03-14 17:15:101652 days ago1584206110
0x9c8b21fA...e16FEd887
0.09535739 ETH
96420902020-03-10 6:16:341656 days ago1583820994
0x9c8b21fA...e16FEd887
0.05008397 ETH
96225532020-03-07 6:27:311659 days ago1583562451
0x9c8b21fA...e16FEd887
0.05014931 ETH
95987672020-03-03 14:37:121663 days ago1583246232
0x9c8b21fA...e16FEd887
0.05008225 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.