ETH Price: $1,854.10 (-1.75%)

Contract

0x3c0acFA09D71b31c7ED1162A507f1eB1DF96F737
 
Transaction Hash
Method
Block
From
To
Sweep180357872023-08-31 16:35:35575 days ago1693499735IN
0x3c0acFA0...1DF96F737
0 ETH0.0029398847.09167466
Sweep180138922023-08-28 14:59:47578 days ago1693234787IN
0x3c0acFA0...1DF96F737
0 ETH0.0027113843.44826226
Sweep172174362023-05-08 18:04:59690 days ago1683569099IN
0x3c0acFA0...1DF96F737
0 ETH0.01938296313.16886868
Sweep172162032023-05-08 13:54:59691 days ago1683554099IN
0x3c0acFA0...1DF96F737
0 ETH0.00957618147.99539105
Sweep172126292023-05-08 1:51:47691 days ago1683510707IN
0x3c0acFA0...1DF96F737
0 ETH0.01265369187.01882311
Sweep171980012023-05-06 0:28:59693 days ago1683332939IN
0x3c0acFA0...1DF96F737
0 ETH0.01113044149.83028558
Sweep171867942023-05-04 10:45:11695 days ago1683197111IN
0x3c0acFA0...1DF96F737
0 ETH0.0064309486.55499622
Sweep171863912023-05-04 9:23:47695 days ago1683192227IN
0x3c0acFA0...1DF96F737
0 ETH0.0045106460.7093927
Sweep171827382023-05-03 21:03:59695 days ago1683147839IN
0x3c0acFA0...1DF96F737
0 ETH0.0069243393.19558058
Sweep171817762023-05-03 17:49:23695 days ago1683136163IN
0x3c0acFA0...1DF96F737
0 ETH0.0077545104.36893788
Sweep171815172023-05-03 16:57:11695 days ago1683133031IN
0x3c0acFA0...1DF96F737
0 ETH0.0060424981.32668438
Sweep171814102023-05-03 16:35:23695 days ago1683131723IN
0x3c0acFA0...1DF96F737
0 ETH0.005914879.60809321
Sweep171803692023-05-03 13:03:23696 days ago1683119003IN
0x3c0acFA0...1DF96F737
0 ETH0.0129599194.04249726
Sweep171792082023-05-03 9:07:47696 days ago1683104867IN
0x3c0acFA0...1DF96F737
0 ETH0.0050330667.74063884
Sweep171791672023-05-03 8:58:59696 days ago1683104339IN
0x3c0acFA0...1DF96F737
0 ETH0.0048531265.31889722
Sweep171738522023-05-02 15:02:59696 days ago1683039779IN
0x3c0acFA0...1DF96F737
0 ETH0.0079722107.29900695
Sweep171683522023-05-01 20:29:11697 days ago1682972951IN
0x3c0acFA0...1DF96F737
0 ETH0.006337197.95506307
Sweep171622322023-04-30 23:48:47698 days ago1682898527IN
0x3c0acFA0...1DF96F737
0 ETH0.0032117743.22769595
Sweep171528862023-04-29 16:19:23699 days ago1682785163IN
0x3c0acFA0...1DF96F737
0 ETH0.0032755644.08619406
Sweep171425442023-04-28 5:26:59701 days ago1682659619IN
0x3c0acFA0...1DF96F737
0 ETH0.0031146441.92047912
Sweep171363542023-04-27 8:32:23702 days ago1682584343IN
0x3c0acFA0...1DF96F737
0 ETH0.0027303836.74864803
Sweep171294072023-04-26 9:06:47703 days ago1682500007IN
0x3c0acFA0...1DF96F737
0 ETH0.0025958740.16145814
Sweep171250282023-04-25 18:23:11703 days ago1682446991IN
0x3c0acFA0...1DF96F737
0 ETH0.0028638544.25945705
Sweep171240002023-04-25 14:54:59703 days ago1682434499IN
0x3c0acFA0...1DF96F737
0 ETH0.003020546.73968592
Sweep171240002023-04-25 14:54:59703 days ago1682434499IN
0x3c0acFA0...1DF96F737
0 ETH0.002926646.73968592
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer171152972023-04-24 9:37:11705 days ago1682329031
0x3c0acFA0...1DF96F737
8.01 ETH
Transfer171025762023-04-22 14:48:23706 days ago1682174903
0x3c0acFA0...1DF96F737
7.43 ETH
Transfer170970942023-04-21 20:22:11707 days ago1682108531
0x3c0acFA0...1DF96F737
12.06 ETH
Transfer170752272023-04-18 18:07:59710 days ago1681841279
0x3c0acFA0...1DF96F737
6.63 ETH
Transfer170466082023-04-14 16:34:47714 days ago1681490087
0x3c0acFA0...1DF96F737
69.68 ETH
Transfer170261552023-04-11 16:55:11717 days ago1681232111
0x3c0acFA0...1DF96F737
71.89 ETH
Transfer169844402023-04-05 18:49:47723 days ago1680720587
0x3c0acFA0...1DF96F737
73.15 ETH
Transfer163919682023-01-12 16:39:23806 days ago1673541563
0x3c0acFA0...1DF96F737
164.81 ETH
Transfer162498452022-12-23 20:34:11826 days ago1671827651
0x3c0acFA0...1DF96F737
109.23 ETH
Transfer160191272022-11-21 14:56:59858 days ago1669042619
0x3c0acFA0...1DF96F737
302.56 ETH
Transfer159285072022-11-08 23:10:35871 days ago1667949035
0x3c0acFA0...1DF96F737
99.47 ETH
Transfer159283672022-11-08 22:42:35871 days ago1667947355
0x3c0acFA0...1DF96F737
24.76 ETH
Transfer159283352022-11-08 22:36:11871 days ago1667946971
0x3c0acFA0...1DF96F737
97.15 ETH
Transfer159282612022-11-08 22:21:11871 days ago1667946071
0x3c0acFA0...1DF96F737
83.73 ETH
Transfer159282082022-11-08 22:10:23871 days ago1667945423
0x3c0acFA0...1DF96F737
79.66 ETH
Transfer159279322022-11-08 21:14:35871 days ago1667942075
0x3c0acFA0...1DF96F737
374.07 ETH
Transfer159278412022-11-08 20:56:11871 days ago1667940971
0x3c0acFA0...1DF96F737
160.89 ETH
Transfer156673342022-10-03 11:29:47908 days ago1664796587
0x3c0acFA0...1DF96F737
162.58 ETH
Transfer156672802022-10-03 11:18:59908 days ago1664795939
0x3c0acFA0...1DF96F737
3.72 ETH
Transfer156669252022-10-03 10:07:35908 days ago1664791655
0x3c0acFA0...1DF96F737
8.89 ETH
Transfer156666782022-10-03 9:17:47908 days ago1664788667
0x3c0acFA0...1DF96F737
9.13 ETH
Transfer156662342022-10-03 7:48:35908 days ago1664783315
0x3c0acFA0...1DF96F737
7.94 ETH
Transfer156624312022-10-02 19:03:47908 days ago1664737427
0x3c0acFA0...1DF96F737
6.48 ETH
Transfer156614022022-10-02 15:36:47908 days ago1664725007
0x3c0acFA0...1DF96F737
3.65 ETH
Transfer156612632022-10-02 15:08:59908 days ago1664723339
0x3c0acFA0...1DF96F737
3.8 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

API
[{"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.