ETH Price: $3,392.44 (+1.92%)

Contract

0xd21E51C17ef98FFF5e58a247D7a567F74431c83E
 

Overview

ETH Balance

0.02733219 ETH

Eth Value

$92.72 (@ $3,392.44/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer119300832021-02-26 2:19:121401 days ago1614305952IN
0xd21E51C1...74431c83E
0.02733219 ETH0.00397863189
Sweep114137682020-12-08 18:38:461481 days ago1607452726IN
0xd21E51C1...74431c83E
0 ETH0.002399742.12
Transfer114137492020-12-08 18:34:401481 days ago1607452480IN
0xd21E51C1...74431c83E
0.06614641 ETH0.001115753
Sweep109392502020-09-26 16:16:511554 days ago1601137011IN
0xd21E51C1...74431c83E
0 ETH0.0064279112.8
Transfer109392282020-09-26 16:11:481554 days ago1601136708IN
0xd21E51C1...74431c83E
0.10828305 ETH0.0022314106
Sweep104804492020-07-18 1:20:011624 days ago1595035201IN
0xd21E51C1...74431c83E
0 ETH0.0023078940.5
Transfer104804252020-07-18 1:15:511624 days ago1595034951IN
0xd21E51C1...74431c83E
0.08269973 ETH0.0006946833
Sweep99651712020-04-29 4:06:261704 days ago1588133186IN
0xd21E51C1...74431c83E
0 ETH0.001253422
Transfer99651422020-04-29 4:00:091704 days ago1588132809IN
0xd21E51C1...74431c83E
0.05753648 ETH0.000189459
Sweep98678232020-04-14 2:29:251719 days ago1586831365IN
0xd21E51C1...74431c83E
0 ETH0.0012536722
Transfer98677982020-04-14 2:24:021719 days ago1586831042IN
0xd21E51C1...74431c83E
0.07241675 ETH0.000147357
Sweep98475732020-04-10 23:46:141722 days ago1586562374IN
0xd21E51C1...74431c83E
0 ETH0.0012536722
Transfer98475552020-04-10 23:43:291722 days ago1586562209IN
0xd21E51C1...74431c83E
0.09801043 ETH0.000063153
Sweep81965962019-07-21 22:11:121987 days ago1563747072IN
0xd21E51C1...74431c83E
0 ETH0.0010998422
Transfer81965822019-07-21 22:07:371987 days ago1563746857IN
0xd21E51C1...74431c83E
0.0689202 ETH0.00008424
Sweep80439152019-06-28 3:18:442010 days ago1561691924IN
0xd21E51C1...74431c83E
0 ETH0.0010258622
Sweep80439062019-06-28 3:15:492010 days ago1561691749IN
0xd21E51C1...74431c83E
0 ETH0.0011012522
Transfer80438852019-06-28 3:10:572010 days ago1561691457IN
0xd21E51C1...74431c83E
0.13819301 ETH0.0002315611
Sweep74451732019-03-26 16:11:352104 days ago1553616695IN
0xd21E51C1...74431c83E
0 ETH0.0025028550
Transfer74451502019-03-26 16:05:442104 days ago1553616344IN
0xd21E51C1...74431c83E
0.17565648 ETH0.0002315611
Sweep71762742019-02-05 2:43:502153 days ago1549334630IN
0xd21E51C1...74431c83E
0 ETH0.0025028550
Transfer71762582019-02-05 2:40:202153 days ago1549334420IN
0xd21E51C1...74431c83E
0.17357666 ETH0.0002105110
Sweep68567132018-12-09 20:27:092211 days ago1544387229IN
0xd21E51C1...74431c83E
0 ETH0.0025028550
Transfer68567002018-12-09 20:25:102211 days ago1544387110IN
0xd21E51C1...74431c83E
0.19676218 ETH0.00016848
Sweep68393262018-12-06 23:19:342214 days ago1544138374IN
0xd21E51C1...74431c83E
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
114137682020-12-08 18:38:461481 days ago1607452726
0xd21E51C1...74431c83E
0.06614641 ETH
109392502020-09-26 16:16:511554 days ago1601137011
0xd21E51C1...74431c83E
0.10828305 ETH
104804492020-07-18 1:20:011624 days ago1595035201
0xd21E51C1...74431c83E
0.08269973 ETH
99651712020-04-29 4:06:261704 days ago1588133186
0xd21E51C1...74431c83E
0.05753648 ETH
98678232020-04-14 2:29:251719 days ago1586831365
0xd21E51C1...74431c83E
0.07241675 ETH
98475732020-04-10 23:46:141722 days ago1586562374
0xd21E51C1...74431c83E
0.09801043 ETH
81965962019-07-21 22:11:121987 days ago1563747072
0xd21E51C1...74431c83E
0.0689202 ETH
80439062019-06-28 3:15:492010 days ago1561691749
0xd21E51C1...74431c83E
0.13819301 ETH
74451732019-03-26 16:11:352104 days ago1553616695
0xd21E51C1...74431c83E
0.17565648 ETH
71762742019-02-05 2:43:502153 days ago1549334630
0xd21E51C1...74431c83E
0.17357666 ETH
68567132018-12-09 20:27:092211 days ago1544387229
0xd21E51C1...74431c83E
0.19676218 ETH
68393262018-12-06 23:19:342214 days ago1544138374
0xd21E51C1...74431c83E
0.19769072 ETH
67799362018-11-27 3:22:312223 days ago1543288951
0xd21E51C1...74431c83E
0.19393726 ETH
67735022018-11-26 1:54:222224 days ago1543197262
0xd21E51C1...74431c83E
0.16954284 ETH
67732052018-11-26 0:45:492224 days ago1543193149
0xd21E51C1...74431c83E
0.15888131 ETH
67050602018-11-14 20:55:122236 days ago1542228912
0xd21E51C1...74431c83E
0.10830831 ETH
67006152018-11-14 3:15:502236 days ago1542165350
0xd21E51C1...74431c83E
0.11469985 ETH
66918792018-11-12 17:06:272238 days ago1542042387
0xd21E51C1...74431c83E
0.08785075 ETH
66753762018-11-10 0:22:412240 days ago1541809361
0xd21E51C1...74431c83E
0.08893623 ETH
66739062018-11-09 18:31:352241 days ago1541788295
0xd21E51C1...74431c83E
0.08854339 ETH
66737652018-11-09 17:58:502241 days ago1541786330
0xd21E51C1...74431c83E
0.093197 ETH
66256102018-11-01 20:18:242249 days ago1541103504
0xd21E51C1...74431c83E
0.09589963 ETH
65842732018-10-26 1:48:552255 days ago1540518535
0xd21E51C1...74431c83E
0.06965574 ETH
65780862018-10-25 1:33:142256 days ago1540431194
0xd21E51C1...74431c83E
0.07037698 ETH
65697872018-10-23 17:12:242258 days ago1540314744
0xd21E51C1...74431c83E
0.11714832 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.