ETH Price: $2,749.38 (+0.63%)

Contract

0x20AdD830c81E0A80d68D9cD70F966292037FBFF7
 

Overview

ETH Balance

0.00000000572151428 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep79283282019-06-10 1:54:002083 days ago1560131640IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer79283142019-06-10 1:50:592083 days ago1560131459IN
0x20AdD830...2037FBFF7
0.06900199 ETH0.000021051
Transfer78836482019-06-03 1:48:122090 days ago1559526492IN
0x20AdD830...2037FBFF7
0.01006363 ETH0.000021051
Sweep74376202019-03-25 11:35:322159 days ago1553513732IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer74375962019-03-25 11:30:592159 days ago1553513459IN
0x20AdD830...2037FBFF7
0.10001849 ETH0.000021051
Sweep74254582019-03-23 14:20:272161 days ago1553350827IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer74254382019-03-23 14:16:112161 days ago1553350571IN
0x20AdD830...2037FBFF7
0.100535 ETH0.000021051
Sweep74186412019-03-22 12:51:502162 days ago1553259110IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer74186222019-03-22 12:47:042162 days ago1553258824IN
0x20AdD830...2037FBFF7
0.10034306 ETH0.000021051
Sweep74119462019-03-21 11:39:422163 days ago1553168382IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer74119302019-03-21 11:36:222163 days ago1553168182IN
0x20AdD830...2037FBFF7
0.10050079 ETH0.000021051
Sweep74050982019-03-20 10:06:092164 days ago1553076369IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer74050852019-03-20 10:03:132164 days ago1553076193IN
0x20AdD830...2037FBFF7
0.10014146 ETH0.000021051
Sweep73982402019-03-19 8:35:202165 days ago1552984520IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer73982202019-03-19 8:30:312165 days ago1552984231IN
0x20AdD830...2037FBFF7
0.10014142 ETH0.000021051
Sweep73914532019-03-18 7:03:252166 days ago1552892605IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer73914332019-03-18 6:59:382166 days ago1552892378IN
0x20AdD830...2037FBFF7
0.10051657 ETH0.000021051
Sweep73846812019-03-17 5:43:052167 days ago1552801385IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer73846632019-03-17 5:37:562167 days ago1552801076IN
0x20AdD830...2037FBFF7
0.10022001 ETH0.000021051
Sweep73776382019-03-16 3:23:542169 days ago1552706634IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer73776222019-03-16 3:19:262169 days ago1552706366IN
0x20AdD830...2037FBFF7
0.10035729 ETH0.000021051
Sweep73705712019-03-15 1:14:312170 days ago1552612471IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer73705512019-03-15 1:11:022170 days ago1552612262IN
0x20AdD830...2037FBFF7
0.10009296 ETH0.000021051
Sweep73636592019-03-13 23:30:322171 days ago1552519832IN
0x20AdD830...2037FBFF7
0 ETH0.0025028550
Transfer73636372019-03-13 23:26:342171 days ago1552519594IN
0x20AdD830...2037FBFF7
0.10042501 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
79283282019-06-10 1:54:002083 days ago1560131640
0x20AdD830...2037FBFF7
0.07906563 ETH
74376202019-03-25 11:35:322159 days ago1553513732
0x20AdD830...2037FBFF7
0.10001849 ETH
74254582019-03-23 14:20:272161 days ago1553350827
0x20AdD830...2037FBFF7
0.10053501 ETH
74186412019-03-22 12:51:502162 days ago1553259110
0x20AdD830...2037FBFF7
0.10034306 ETH
74119462019-03-21 11:39:422163 days ago1553168382
0x20AdD830...2037FBFF7
0.1005008 ETH
74050982019-03-20 10:06:092164 days ago1553076369
0x20AdD830...2037FBFF7
0.10014147 ETH
73982402019-03-19 8:35:202165 days ago1552984520
0x20AdD830...2037FBFF7
0.10014142 ETH
73914532019-03-18 7:03:252166 days ago1552892605
0x20AdD830...2037FBFF7
0.10051657 ETH
73846812019-03-17 5:43:052167 days ago1552801385
0x20AdD830...2037FBFF7
0.10022002 ETH
73776382019-03-16 3:23:542169 days ago1552706634
0x20AdD830...2037FBFF7
0.10035729 ETH
73705712019-03-15 1:14:312170 days ago1552612471
0x20AdD830...2037FBFF7
0.10009297 ETH
73636592019-03-13 23:30:322171 days ago1552519832
0x20AdD830...2037FBFF7
0.10042502 ETH
73566212019-03-12 20:58:592172 days ago1552424339
0x20AdD830...2037FBFF7
0.10025752 ETH
73499672019-03-11 20:19:292173 days ago1552335569
0x20AdD830...2037FBFF7
0.10033099 ETH
73432652019-03-10 19:14:532174 days ago1552245293
0x20AdD830...2037FBFF7
0.10013316 ETH
73361822019-03-09 16:53:132175 days ago1552150393
0x20AdD830...2037FBFF7
0.10028363 ETH
73293522019-03-08 15:14:582176 days ago1552058098
0x20AdD830...2037FBFF7
0.10037916 ETH
73221042019-03-07 12:15:082177 days ago1551960908
0x20AdD830...2037FBFF7
0.10043979 ETH
73138012019-03-06 5:13:512178 days ago1551849231
0x20AdD830...2037FBFF7
0.10009982 ETH
73047412019-03-04 19:14:262180 days ago1551726866
0x20AdD830...2037FBFF7
0.10005788 ETH
72977662019-03-03 16:56:402181 days ago1551632200
0x20AdD830...2037FBFF7
0.10034343 ETH
72908782019-03-02 15:04:592182 days ago1551539099
0x20AdD830...2037FBFF7
0.10004671 ETH
72840542019-03-01 13:12:292183 days ago1551445949
0x20AdD830...2037FBFF7
0.1001018 ETH
72819062019-03-01 4:40:042184 days ago1551415204
0x20AdD830...2037FBFF7
0.1003554 ETH
72735442019-02-27 7:43:002185 days ago1551253380
0x20AdD830...2037FBFF7
0.10026228 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.