ETH Price: $2,286.00 (-3.42%)

Contract

0x20b6346742AA2A86CB8f52a6fF77e0704773008f
 

Overview

ETH Balance

0.006488999981850815 ETH

Eth Value

$14.83 (@ $2,286.00/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155382052022-09-15 9:27:23723 days ago1663234043IN
0x20b63467...04773008f
0.00648899 ETH0.0002174510.32969985
Sweep155135152022-09-11 7:17:30727 days ago1662880650IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer155135002022-09-11 7:13:58727 days ago1662880438IN
0x20b63467...04773008f
1.72355644 ETH0.000111015.27339636
Sweep155074672022-09-10 7:12:09728 days ago1662793929IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer155074532022-09-10 7:08:53728 days ago1662793733IN
0x20b63467...04773008f
2.06423389 ETH0.000193559.1947845
Sweep153868472022-08-21 23:17:16747 days ago1661123836IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer153868262022-08-21 23:12:49747 days ago1661123569IN
0x20b63467...04773008f
1.97563508 ETH0.000064953.08568141
Sweep153264652022-08-12 10:21:43757 days ago1660299703IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer153264492022-08-12 10:17:45757 days ago1660299465IN
0x20b63467...04773008f
2.02142111 ETH0.000264912.58415718
Sweep152968022022-08-07 18:24:48761 days ago1659896688IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer152967882022-08-07 18:21:50761 days ago1659896510IN
0x20b63467...04773008f
1.97765884 ETH0.000157847.4983317
Sweep152572032022-08-01 14:24:39767 days ago1659363879IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer152571872022-08-01 14:21:35767 days ago1659363695IN
0x20b63467...04773008f
2.22072713 ETH0.000201649.57882677
Sweep152221022022-07-27 3:24:26773 days ago1658892266IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer152220852022-07-27 3:21:25773 days ago1658892085IN
0x20b63467...04773008f
2.02486072 ETH0.000195769.29932946
Sweep151917042022-07-22 10:02:59778 days ago1658484179IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer151916912022-07-22 10:00:26778 days ago1658484026IN
0x20b63467...04773008f
1.97533618 ETH0.000174778.30240759
Sweep151341552022-07-13 12:00:41786 days ago1657713641IN
0x20b63467...04773008f
0 ETH0.0018481432.66134511
Transfer151341362022-07-13 11:56:32786 days ago1657713392IN
0x20b63467...04773008f
1.97121194 ETH0.0002676112.71258284
Sweep151023452022-07-08 14:09:50791 days ago1657289390IN
0x20b63467...04773008f
0 ETH0.0034089860.24532817
Transfer151023262022-07-08 14:04:17791 days ago1657289057IN
0x20b63467...04773008f
1.98761375 ETH0.0008822941.91212812
Sweep150862942022-07-06 2:29:02794 days ago1657074542IN
0x20b63467...04773008f
0 ETH0.0016971930
Transfer150862722022-07-06 2:24:27794 days ago1657074267IN
0x20b63467...04773008f
2.30587213 ETH0.0004594521.82596551
Sweep150626102022-07-02 10:37:00797 days ago1656758220IN
0x20b63467...04773008f
0 ETH0.0016975530
Transfer150625952022-07-02 10:34:14797 days ago1656758054IN
0x20b63467...04773008f
2.00396309 ETH0.0002339211.11234489
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
155135152022-09-11 7:17:30727 days ago1662880650
0x20b63467...04773008f
1.72355644 ETH
155074672022-09-10 7:12:09728 days ago1662793929
0x20b63467...04773008f
2.06423389 ETH
153868472022-08-21 23:17:16747 days ago1661123836
0x20b63467...04773008f
1.97563509 ETH
153264652022-08-12 10:21:43757 days ago1660299703
0x20b63467...04773008f
2.02142112 ETH
152968022022-08-07 18:24:48761 days ago1659896688
0x20b63467...04773008f
1.97765884 ETH
152572032022-08-01 14:24:39767 days ago1659363879
0x20b63467...04773008f
2.22072714 ETH
152221022022-07-27 3:24:26773 days ago1658892266
0x20b63467...04773008f
2.02486072 ETH
151917042022-07-22 10:02:59778 days ago1658484179
0x20b63467...04773008f
1.97533618 ETH
151341552022-07-13 12:00:41786 days ago1657713641
0x20b63467...04773008f
1.97121194 ETH
151023452022-07-08 14:09:50791 days ago1657289390
0x20b63467...04773008f
1.98761376 ETH
150862942022-07-06 2:29:02794 days ago1657074542
0x20b63467...04773008f
2.30587214 ETH
150626102022-07-02 10:37:00797 days ago1656758220
0x20b63467...04773008f
2.00396309 ETH
150571542022-07-01 14:36:56798 days ago1656686216
0x20b63467...04773008f
3.22567598 ETH
150513722022-06-30 16:40:04799 days ago1656607204
0x20b63467...04773008f
0.69329351 ETH
150513662022-06-30 16:38:46799 days ago1656607126
0x20b63467...04773008f
2.25038192 ETH
150508962022-06-30 14:45:54799 days ago1656600354
0x20b63467...04773008f
3.97180172 ETH
150493572022-06-30 8:00:48800 days ago1656576048
0x20b63467...04773008f
2.11628288 ETH
150471882022-06-29 22:13:59800 days ago1656540839
0x20b63467...04773008f
1.97784113 ETH
150463152022-06-29 18:27:58800 days ago1656527278
0x20b63467...04773008f
2.05557232 ETH
150460412022-06-29 17:15:30800 days ago1656522930
0x20b63467...04773008f
2.01979179 ETH
150443362022-06-29 9:28:49801 days ago1656494929
0x20b63467...04773008f
1.98793973 ETH
150413502022-06-28 19:53:43801 days ago1656446023
0x20b63467...04773008f
2.2168013 ETH
150376772022-06-28 3:24:14802 days ago1656386654
0x20b63467...04773008f
1.99049392 ETH
150302202022-06-26 18:12:38803 days ago1656267158
0x20b63467...04773008f
2.01319149 ETH
150236232022-06-25 12:08:04804 days ago1656158884
0x20b63467...04773008f
1.97644569 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.