ETH Price: $3,285.37 (+1.24%)

Contract

0x4B20091872f4DF99e9558158A47c2c4790667100
 

Overview

ETH Balance

0.005 ETH

Eth Value

$16.43 (@ $3,285.37/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer134733812021-10-23 11:06:251176 days ago1634987185IN
0x4B200918...790667100
0.005 ETH0.00252612120
Sweep134732502021-10-23 10:34:541176 days ago1634985294IN
0x4B200918...790667100
0 ETH0.003732565.962732
Transfer134732312021-10-23 10:28:581176 days ago1634984938IN
0x4B200918...790667100
0.07526814 ETH0.0010127348.10868623
Sweep134731582021-10-23 10:10:441176 days ago1634983844IN
0x4B200918...790667100
0 ETH0.0028298250.01021064
Transfer134731552021-10-23 10:10:061176 days ago1634983806IN
0x4B200918...790667100
0.05002989 ETH0.0008341839.62670342
Transfer134731262021-10-23 10:03:241176 days ago1634983404IN
0x4B200918...790667100
0.01250083 ETH0.0009042542.95551433
Transfer134730292021-10-23 9:44:021176 days ago1634982242IN
0x4B200918...790667100
0.01251475 ETH0.0009808346.59347903
Sweep100531652020-05-12 19:16:311705 days ago1589310991IN
0x4B200918...790667100
0 ETH0.001253422
Transfer100531432020-05-12 19:10:461705 days ago1589310646IN
0x4B200918...790667100
0.05063871 ETH0.0002947114
Sweep100212082020-05-07 20:10:491710 days ago1588882249IN
0x4B200918...790667100
0 ETH0.0012821622.5
Transfer100211832020-05-07 20:06:341710 days ago1588881994IN
0x4B200918...790667100
0.10747915 ETH0.0003999619
Sweep100113452020-05-06 7:28:591711 days ago1588750139IN
0x4B200918...790667100
0 ETH0.0012536722
Transfer100113272020-05-06 7:25:501711 days ago1588749950IN
0x4B200918...790667100
0.28448698 ETH0.0003578617
Transfer100113162020-05-06 7:23:131711 days ago1588749793IN
0x4B200918...790667100
0.23707548 ETH0.0003368116
Sweep100111692020-05-06 6:48:391711 days ago1588747719IN
0x4B200918...790667100
0 ETH0.0012536722
Transfer100111522020-05-06 6:43:361711 days ago1588747416IN
0x4B200918...790667100
0.66762243 ETH0.0002736613
Sweep99996542020-05-04 12:09:591713 days ago1588594199IN
0x4B200918...790667100
0 ETH0.0012536722
Transfer99996322020-05-04 12:05:021713 days ago1588593902IN
0x4B200918...790667100
0.26016578 ETH0.0002105110
Sweep99936632020-05-03 14:09:481714 days ago1588514988IN
0x4B200918...790667100
0 ETH0.001253422
Transfer99936392020-05-03 14:02:431714 days ago1588514563IN
0x4B200918...790667100
0.03057441 ETH0.000189459
Transfer99890412020-05-02 20:51:141715 days ago1588452674IN
0x4B200918...790667100
0.03563654 ETH0.00012636
Sweep99885562020-05-02 19:03:121715 days ago1588446192IN
0x4B200918...790667100
0 ETH0.0012536722
Transfer99885352020-05-02 18:59:461715 days ago1588445986IN
0x4B200918...790667100
0.04415653 ETH0.000105255
Transfer99884812020-05-02 18:47:461715 days ago1588445266IN
0x4B200918...790667100
0.04625659 ETH0.000147357
Sweep99856212020-05-02 8:20:131715 days ago1588407613IN
0x4B200918...790667100
0 ETH0.001253422
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
134732502021-10-23 10:34:541176 days ago1634985294
0x4B200918...790667100
0.07526814 ETH
134731582021-10-23 10:10:441176 days ago1634983844
0x4B200918...790667100
0.07504547 ETH
100531652020-05-12 19:16:311705 days ago1589310991
0x4B200918...790667100
0.05063871 ETH
100212082020-05-07 20:10:491710 days ago1588882249
0x4B200918...790667100
0.10747915 ETH
100113452020-05-06 7:28:591711 days ago1588750139
0x4B200918...790667100
0.52156246 ETH
100111692020-05-06 6:48:391711 days ago1588747719
0x4B200918...790667100
0.66762243 ETH
99996542020-05-04 12:09:591713 days ago1588594199
0x4B200918...790667100
0.26016578 ETH
99936632020-05-03 14:09:481714 days ago1588514988
0x4B200918...790667100
0.06621095 ETH
99885562020-05-02 19:03:121715 days ago1588446192
0x4B200918...790667100
0.09041312 ETH
99856212020-05-02 8:20:131715 days ago1588407613
0x4B200918...790667100
0.06932588 ETH
99803192020-05-01 12:25:391716 days ago1588335939
0x4B200918...790667100
0.06831266 ETH
99622002020-04-28 16:58:121719 days ago1588093092
0x4B200918...790667100
0.10140606 ETH
99478082020-04-26 11:19:241721 days ago1587899964
0x4B200918...790667100
0.10061722 ETH
99361432020-04-24 15:54:591723 days ago1587743699
0x4B200918...790667100
0.10564401 ETH
99304792020-04-23 18:56:491724 days ago1587668209
0x4B200918...790667100
0.10563618 ETH
98389762020-04-09 16:03:011738 days ago1586448181
0x4B200918...790667100
0.05758613 ETH
88330172019-10-29 8:31:281901 days ago1572337888
0x4B200918...790667100
0.10952063 ETH
86256982019-09-26 17:03:011934 days ago1569517381
0x4B200918...790667100
0.07097225 ETH
86231692019-09-26 7:23:051934 days ago1569482585
0x4B200918...790667100
0.06679881 ETH
86072492019-09-23 19:19:181937 days ago1569266358
0x4B200918...790667100
0.07061535 ETH
85860522019-09-20 12:02:501940 days ago1568980970
0x4B200918...790667100
0.06226221 ETH
85818072019-09-19 20:06:261941 days ago1568923586
0x4B200918...790667100
0.06652321 ETH
85434022019-09-13 20:31:051947 days ago1568406665
0x4B200918...790667100
0.06434055 ETH
85172442019-09-09 18:14:061951 days ago1568052846
0x4B200918...790667100
0.08160823 ETH
85110732019-09-08 19:15:011952 days ago1567970101
0x4B200918...790667100
0.14574935 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.