ETH Price: $3,264.31 (-2.45%)

Contract

0x9D21d85754892e823E6AD77556E25BF959c8E737
 

Overview

ETH Balance

0.000000007988417565 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep104064202020-07-06 14:23:581590 days ago1594045438IN
0x9D21d857...959c8E737
0 ETH0.0041020572
Transfer104063992020-07-06 14:17:361590 days ago1594045056IN
0x9D21d857...959c8E737
0.22 ETH0.0010104448
Sweep103084742020-06-21 10:06:571605 days ago1592734017IN
0x9D21d857...959c8E737
0 ETH0.0014079424.71242187
Transfer103084552020-06-21 10:02:561605 days ago1592733776IN
0x9D21d857...959c8E737
0.01701078 ETH0.000021051
Transfer102632012020-06-14 9:59:291612 days ago1592128769IN
0x9D21d857...959c8E737
0.03414557 ETH0.000021051
Sweep102180632020-06-07 10:17:351619 days ago1591525055IN
0x9D21d857...959c8E737
0 ETH0.0030765454
Transfer102179542020-06-07 9:51:421619 days ago1591523502IN
0x9D21d857...959c8E737
0.03110656 ETH0.000021051
Transfer101729002020-05-31 9:49:351626 days ago1590918575IN
0x9D21d857...959c8E737
0.0322444 ETH0.000021051
Sweep101277922020-05-24 9:47:091633 days ago1590313629IN
0x9D21d857...959c8E737
0 ETH0.0017091930.00000185
Transfer101277732020-05-24 9:42:491633 days ago1590313369IN
0x9D21d857...959c8E737
0.03239245 ETH0.000021051
Transfer100827592020-05-17 9:35:211640 days ago1589708121IN
0x9D21d857...959c8E737
0.03311452 ETH0.000021051
Sweep100376782020-05-10 9:35:221647 days ago1589103322IN
0x9D21d857...959c8E737
0 ETH0.001253422
Transfer100376572020-05-10 9:32:021647 days ago1589103122IN
0x9D21d857...959c8E737
0.03057053 ETH0.000021051
Transfer99923582020-05-03 9:25:271654 days ago1588497927IN
0x9D21d857...959c8E737
0.02854863 ETH0.000021051
Sweep99473092020-04-26 9:26:461661 days ago1587893206IN
0x9D21d857...959c8E737
0 ETH0.001253422
Transfer99472882020-04-26 9:22:571661 days ago1587892977IN
0x9D21d857...959c8E737
0.03320394 ETH0.000021051
Transfer99019242020-04-19 9:08:491668 days ago1587287329IN
0x9D21d857...959c8E737
0.02623814 ETH0.000021051
Sweep98566382020-04-12 9:13:491675 days ago1586682829IN
0x9D21d857...959c8E737
0 ETH0.001253422
Transfer98566162020-04-12 9:09:041675 days ago1586682544IN
0x9D21d857...959c8E737
0.03056247 ETH0.000021051
Transfer98111362020-04-05 9:02:541682 days ago1586077374IN
0x9D21d857...959c8E737
0.03578805 ETH0.000021051
Sweep97655722020-03-29 9:01:251689 days ago1585472485IN
0x9D21d857...959c8E737
0 ETH0.001253422
Transfer97655542020-03-29 8:57:351689 days ago1585472255IN
0x9D21d857...959c8E737
0.03301435 ETH0.000021051
Transfer97203742020-03-22 8:51:131696 days ago1584867073IN
0x9D21d857...959c8E737
0.02040708 ETH0.000021051
Transfer96750212020-03-15 8:40:051703 days ago1584261605IN
0x9D21d857...959c8E737
0.01002246 ETH0.000021051
Sweep95721742020-02-28 12:44:271719 days ago1582893867IN
0x9D21d857...959c8E737
0 ETH0.001253422
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
104064202020-07-06 14:23:581590 days ago1594045438
0x9D21d857...959c8E737
0.22 ETH
103084742020-06-21 10:06:571605 days ago1592734017
0x9D21d857...959c8E737
0.05115636 ETH
102180632020-06-07 10:17:351619 days ago1591525055
0x9D21d857...959c8E737
0.06335097 ETH
101277922020-05-24 9:47:091633 days ago1590313629
0x9D21d857...959c8E737
0.06550698 ETH
100376782020-05-10 9:35:221647 days ago1589103322
0x9D21d857...959c8E737
0.05911917 ETH
99473092020-04-26 9:26:461661 days ago1587893206
0x9D21d857...959c8E737
0.05944209 ETH
98566382020-04-12 9:13:491675 days ago1586682829
0x9D21d857...959c8E737
0.06635052 ETH
97655722020-03-29 9:01:251689 days ago1585472485
0x9D21d857...959c8E737
0.0634439 ETH
95721742020-02-28 12:44:271719 days ago1582893867
0x9D21d857...959c8E737
0.05763257 ETH
93829282020-01-30 10:09:511748 days ago1580378991
0x9D21d857...959c8E737
0.06350248 ETH
91969002020-01-01 17:42:521777 days ago1577900572
0x9D21d857...959c8E737
0.05512625 ETH
90504812019-12-04 17:30:571805 days ago1575480657
0x9D21d857...959c8E737
0.05748124 ETH
88831922019-11-06 9:57:581833 days ago1573034278
0x9D21d857...959c8E737
0.05565446 ETH
87069722019-10-09 9:52:531861 days ago1570614773
0x9D21d857...959c8E737
0.06409036 ETH
85277632019-09-11 9:38:451889 days ago1568194725
0x9D21d857...959c8E737
0.05829877 ETH
83059742019-08-07 21:34:361924 days ago1565213676
0x9D21d857...959c8E737
0.05437664 ETH
81706282019-07-17 21:29:291945 days ago1563398969
0x9D21d857...959c8E737
0.06090653 ETH
80359862019-06-26 21:27:551966 days ago1561584475
0x9D21d857...959c8E737
0.05736273 ETH
78568742019-05-29 21:16:291994 days ago1559164589
0x9D21d857...959c8E737
0.07365123 ETH
77223192019-05-08 21:08:472015 days ago1557349727
0x9D21d857...959c8E737
0.06075314 ETH
75875842019-04-17 20:58:542036 days ago1555534734
0x9D21d857...959c8E737
0.05652388 ETH
74528772019-03-27 20:50:522057 days ago1553719852
0x9D21d857...959c8E737
0.06342284 ETH
73180142019-03-06 20:47:112078 days ago1551905231
0x9D21d857...959c8E737
0.05631328 ETH
72166022019-02-13 20:35:492099 days ago1550090149
0x9D21d857...959c8E737
0.06357736 ETH
71154952019-01-23 20:26:542120 days ago1548275214
0x9D21d857...959c8E737
0.05064191 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.