ETH Price: $2,741.90 (-0.00%)

Contract

0x21EEDfC6e637169000965C6F7ABda687f840174B
 

Overview

ETH Balance

0.008298947372245521 ETH

Eth Value

$22.75 (@ $2,741.90/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer157527802022-10-15 10:00:23859 days ago1665828023IN
0x21EEDfC6...7f840174B
0.00829894 ETH0.0003584417.02734209
Sweep78353162019-05-26 12:46:332097 days ago1558874793IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer78352922019-05-26 12:42:562097 days ago1558874576IN
0x21EEDfC6...7f840174B
0.10951251 ETH0.000105234.99905
Sweep78120852019-05-22 21:46:432101 days ago1558561603IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer78120682019-05-22 21:41:142101 days ago1558561274IN
0x21EEDfC6...7f840174B
0.10955151 ETH0.0002105110
Sweep77787372019-05-17 16:13:042106 days ago1558109584IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer77787132019-05-17 16:07:342106 days ago1558109254IN
0x21EEDfC6...7f840174B
0.10951332 ETH0.0004210220
Sweep77464522019-05-12 15:29:462111 days ago1557674986IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer77464272019-05-12 15:23:382111 days ago1557674618IN
0x21EEDfC6...7f840174B
0.10968644 ETH0.000189459
Sweep77233902019-05-09 1:04:232115 days ago1557363863IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer77233762019-05-09 1:00:472115 days ago1557363647IN
0x21EEDfC6...7f840174B
0.10955895 ETH0.000105255
Sweep77001812019-05-05 9:50:322118 days ago1557049832IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer77001672019-05-05 9:46:532118 days ago1557049613IN
0x21EEDfC6...7f840174B
0.10958174 ETH0.000149467.1
Sweep76792702019-05-02 3:38:072122 days ago1556768287IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer76792532019-05-02 3:34:452122 days ago1556768085IN
0x21EEDfC6...7f840174B
0.10956645 ETH0.000105255
Sweep76583412019-04-28 21:30:572125 days ago1556487057IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer76583242019-04-28 21:27:182125 days ago1556486838IN
0x21EEDfC6...7f840174B
0.10951211 ETH0.000063153
Sweep76370762019-04-25 14:29:032128 days ago1556202543IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer76370602019-04-25 14:25:102128 days ago1556202310IN
0x21EEDfC6...7f840174B
0.10955729 ETH0.00008424
Sweep76142902019-04-22 0:48:432132 days ago1555894123IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer76142732019-04-22 0:44:492132 days ago1555893889IN
0x21EEDfC6...7f840174B
0.10953868 ETH0.000088414.2
Sweep75925552019-04-18 15:41:042135 days ago1555602064IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer75925342019-04-18 15:36:572135 days ago1555601817IN
0x21EEDfC6...7f840174B
0.10957711 ETH0.0002105110
Sweep75693582019-04-15 0:41:062139 days ago1555288866IN
0x21EEDfC6...7f840174B
0 ETH0.0025028550
Transfer75693332019-04-15 0:36:582139 days ago1555288618IN
0x21EEDfC6...7f840174B
0.10962371 ETH0.00008424
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
78353162019-05-26 12:46:332097 days ago1558874793
0x21EEDfC6...7f840174B
0.10951251 ETH
78120852019-05-22 21:46:432101 days ago1558561603
0x21EEDfC6...7f840174B
0.10955151 ETH
77787372019-05-17 16:13:042106 days ago1558109584
0x21EEDfC6...7f840174B
0.10951332 ETH
77464522019-05-12 15:29:462111 days ago1557674986
0x21EEDfC6...7f840174B
0.10968644 ETH
77233902019-05-09 1:04:232115 days ago1557363863
0x21EEDfC6...7f840174B
0.10955895 ETH
77001812019-05-05 9:50:322118 days ago1557049832
0x21EEDfC6...7f840174B
0.10958174 ETH
76792702019-05-02 3:38:072122 days ago1556768287
0x21EEDfC6...7f840174B
0.10956645 ETH
76583412019-04-28 21:30:572125 days ago1556487057
0x21EEDfC6...7f840174B
0.10951211 ETH
76370762019-04-25 14:29:032128 days ago1556202543
0x21EEDfC6...7f840174B
0.10955729 ETH
76142902019-04-22 0:48:432132 days ago1555894123
0x21EEDfC6...7f840174B
0.10953868 ETH
75925552019-04-18 15:41:042135 days ago1555602064
0x21EEDfC6...7f840174B
0.10957711 ETH
75693582019-04-15 0:41:062139 days ago1555288866
0x21EEDfC6...7f840174B
0.10962371 ETH
75480032019-04-11 17:12:402142 days ago1555002760
0x21EEDfC6...7f840174B
0.10952937 ETH
75268902019-04-08 10:24:212145 days ago1554719061
0x21EEDfC6...7f840174B
0.1096803 ETH
75069832019-04-05 8:28:592148 days ago1554452939
0x21EEDfC6...7f840174B
0.10954513 ETH
74761472019-03-31 12:38:382153 days ago1554035918
0x21EEDfC6...7f840174B
0.10951783 ETH
74564412019-03-28 10:13:212156 days ago1553768001
0x21EEDfC6...7f840174B
0.10953794 ETH
74357542019-03-25 4:46:402159 days ago1553489200
0x21EEDfC6...7f840174B
0.10954398 ETH
74136642019-03-21 18:12:232163 days ago1553191943
0x21EEDfC6...7f840174B
0.1095807 ETH
73894252019-03-17 23:31:182167 days ago1552865478
0x21EEDfC6...7f840174B
0.10956431 ETH
73677492019-03-14 14:52:082170 days ago1552575128
0x21EEDfC6...7f840174B
0.10954992 ETH
73463662019-03-11 6:49:152173 days ago1552286955
0x21EEDfC6...7f840174B
0.10965979 ETH
73247662019-03-07 22:07:072177 days ago1551996427
0x21EEDfC6...7f840174B
0.10957033 ETH
73005492019-03-04 3:28:182181 days ago1551670098
0x21EEDfC6...7f840174B
0.10950069 ETH
72819242019-03-01 4:46:222183 days ago1551415582
0x21EEDfC6...7f840174B
0.10950422 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.