ETH Price: $3,369.75 (-3.34%)
Gas: 6.13 Gwei

Contract

0x1920B4FcD44C11937eC2C0018C0794b51E976c48
 
Transaction Hash
Method
Block
From
To
Sweep212203302024-11-19 7:37:4737 days ago1732001867IN
0x1920B4Fc...51E976c48
0 ETH0.0026217930
Sweep173441792023-05-26 15:32:59579 days ago1685115179IN
0x1920B4Fc...51E976c48
0 ETH0.004876239.56478595
Sweep168775772023-03-21 17:45:47645 days ago1679420747IN
0x1920B4Fc...51E976c48
0 ETH0.0021581432.23520016
Sweep168674042023-03-20 7:29:47647 days ago1679297387IN
0x1920B4Fc...51E976c48
0 ETH0.0019408230
Sweep168664122023-03-20 4:09:23647 days ago1679285363IN
0x1920B4Fc...51E976c48
0 ETH0.0019408230
Sweep168663482023-03-20 3:56:35647 days ago1679284595IN
0x1920B4Fc...51E976c48
0 ETH0.0019408230
Sweep168662422023-03-20 3:35:11647 days ago1679283311IN
0x1920B4Fc...51E976c48
0 ETH0.0019408230
Sweep168657732023-03-20 2:00:35647 days ago1679277635IN
0x1920B4Fc...51E976c48
0 ETH0.0018715230
Sweep168608512023-03-19 9:23:23647 days ago1679217803IN
0x1920B4Fc...51E976c48
0 ETH0.0019408230
Sweep168409592023-03-16 14:20:23650 days ago1678976423IN
0x1920B4Fc...51E976c48
0 ETH0.002488633.30260589
Sweep168038062023-03-11 8:59:23656 days ago1678525163IN
0x1920B4Fc...51E976c48
0 ETH0.01070844171.90174798
Sweep168020002023-03-11 2:53:11656 days ago1678503191IN
0x1920B4Fc...51E976c48
0 ETH0.004518469.84267583
Sweep167943172023-03-10 0:51:35657 days ago1678409495IN
0x1920B4Fc...51E976c48
0 ETH0.0019953331.86779553
Sweep167510762023-03-03 22:56:47663 days ago1677884207IN
0x1920B4Fc...51E976c48
0 ETH0.0019408230
Sweep167447632023-03-03 1:37:35664 days ago1677807455IN
0x1920B4Fc...51E976c48
0 ETH0.00891826143.2836761
Sweep167341182023-03-01 13:38:35665 days ago1677677915IN
0x1920B4Fc...51E976c48
0 ETH0.002241634.64930575
Sweep167162922023-02-27 1:33:47668 days ago1677461627IN
0x1920B4Fc...51E976c48
0 ETH0.0018670530
Sweep166983012023-02-24 12:50:23670 days ago1677243023IN
0x1920B4Fc...51E976c48
0 ETH0.0019928830.80480295
Sweep166947332023-02-24 0:44:35671 days ago1677199475IN
0x1920B4Fc...51E976c48
0 ETH0.0038780161.94818687
Sweep166832012023-02-22 9:49:11672 days ago1677059351IN
0x1920B4Fc...51E976c48
0 ETH0.0026452942.24837131
Sweep166786242023-02-21 18:21:35673 days ago1677003695IN
0x1920B4Fc...51E976c48
0 ETH0.0061805447.25765859
Sweep166785292023-02-21 18:02:11673 days ago1677002531IN
0x1920B4Fc...51E976c48
0 ETH0.0118934990.93997642
Sweep166776562023-02-21 15:05:23673 days ago1676991923IN
0x1920B4Fc...51E976c48
0 ETH0.0031358148.47148022
Sweep166765272023-02-21 11:18:11673 days ago1676978291IN
0x1920B4Fc...51E976c48
0 ETH0.0039235230
Sweep166763992023-02-21 10:52:23673 days ago1676976743IN
0x1920B4Fc...51E976c48
0 ETH0.0039650530.31760696
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
49534122018-01-22 17:18:192529 days ago1516641499
0x1920B4Fc...51E976c48
3.04757143 ETH
47477112017-12-17 9:14:172566 days ago1513502057
0x1920B4Fc...51E976c48
1.74 ETH
47464432017-12-17 3:57:482566 days ago1513483068
0x1920B4Fc...51E976c48
1.68 ETH
47456512017-12-17 0:52:562566 days ago1513471976
0x1920B4Fc...51E976c48
1.94 ETH
47455012017-12-17 0:12:082566 days ago1513469528
0x1920B4Fc...51E976c48
0.79 ETH
47454862017-12-17 0:08:392566 days ago1513469319
0x1920B4Fc...51E976c48
1.2 ETH
47446602017-12-16 20:48:522566 days ago1513457332
0x1920B4Fc...51E976c48
0.78 ETH
47446212017-12-16 20:40:562566 days ago1513456856
0x1920B4Fc...51E976c48
1.05 ETH
47443312017-12-16 19:34:422566 days ago1513452882
0x1920B4Fc...51E976c48
1.87 ETH
47439362017-12-16 17:48:222566 days ago1513446502
0x1920B4Fc...51E976c48
0.97 ETH
47437512017-12-16 16:59:162566 days ago1513443556
0x1920B4Fc...51E976c48
1.86 ETH
47433502017-12-16 15:16:102566 days ago1513437370
0x1920B4Fc...51E976c48
0.94 ETH
47427752017-12-16 12:58:362566 days ago1513429116
0x1920B4Fc...51E976c48
1.73 ETH
47416132017-12-16 8:15:372567 days ago1513412137
0x1920B4Fc...51E976c48
1.09 ETH
47400602017-12-16 1:36:122567 days ago1513388172
0x1920B4Fc...51E976c48
1.75 ETH
47397922017-12-16 0:26:302567 days ago1513383990
0x1920B4Fc...51E976c48
0.94 ETH
47392302017-12-15 22:03:542567 days ago1513375434
0x1920B4Fc...51E976c48
1.76 ETH
47383552017-12-15 18:34:562567 days ago1513362896
0x1920B4Fc...51E976c48
0.95 ETH
47376552017-12-15 15:34:472567 days ago1513352087
0x1920B4Fc...51E976c48
2.31 ETH
47363412017-12-15 10:13:592567 days ago1513332839
0x1920B4Fc...51E976c48
2.34 ETH
47354472017-12-15 6:34:362568 days ago1513319676
0x1920B4Fc...51E976c48
2.38 ETH
47350602017-12-15 4:54:002568 days ago1513313640
0x1920B4Fc...51E976c48
2.51 ETH
47347812017-12-15 3:45:222568 days ago1513309522
0x1920B4Fc...51E976c48
2.4 ETH
47345022017-12-15 2:37:292568 days ago1513305449
0x1920B4Fc...51E976c48
2.53 ETH
47343402017-12-15 1:55:352568 days ago1513302935
0x1920B4Fc...51E976c48
2.49 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.