ETH Price: $3,107.28 (+1.27%)
Gas: 11 Gwei

Contract

0x2cff74179B0DC2495a35B276Cd2270a9c21AfEC1
 

Overview

ETH Balance

0.000000003988606242 ETH

Eth Value

Less Than $0.01 (@ $3,107.28/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Sweep155211762022-09-12 13:47:32667 days ago1662990452IN
0x2cff7417...9c21AfEC1
0 ETH0.0016971930
Transfer155211552022-09-12 13:43:15667 days ago1662990195IN
0x2cff7417...9c21AfEC1
0.09187731 ETH0.0004406920.93478126
Transfer154834442022-09-06 10:09:29673 days ago1662458969IN
0x2cff7417...9c21AfEC1
0.00657004 ETH0.000168738.01540181
Sweep154808622022-09-06 0:13:38673 days ago1662423218IN
0x2cff7417...9c21AfEC1
0 ETH0.0016971930
Transfer154808452022-09-06 0:09:29673 days ago1662422969IN
0x2cff7417...9c21AfEC1
0.06627684 ETH0.0002359911.21065571
Sweep154531182022-09-01 13:22:56678 days ago1662038576IN
0x2cff7417...9c21AfEC1
0 ETH0.0018718133.07974497
Transfer154531032022-09-01 13:19:04678 days ago1662038344IN
0x2cff7417...9c21AfEC1
0.22982551 ETH0.0006635731.52210077
Sweep153577642022-08-17 8:53:46693 days ago1660726426IN
0x2cff7417...9c21AfEC1
0 ETH0.0016975530
Transfer153577452022-08-17 8:48:14693 days ago1660726094IN
0x2cff7417...9c21AfEC1
0.52993099 ETH0.00013946.62224409
Sweep151097222022-07-09 17:19:24731 days ago1657387164IN
0x2cff7417...9c21AfEC1
0 ETH0.0016975530
Transfer151097012022-07-09 17:15:45731 days ago1657386945IN
0x2cff7417...9c21AfEC1
0.52974114 ETH0.0004068519.32694385
Sweep148933952022-06-02 21:55:36768 days ago1654206936IN
0x2cff7417...9c21AfEC1
0 ETH0.0037021965.42719504
Transfer148933742022-06-02 21:51:57768 days ago1654206717IN
0x2cff7417...9c21AfEC1
0.52938558 ETH0.0013258962.98493356
Sweep148830092022-06-01 5:08:02770 days ago1654060082IN
0x2cff7417...9c21AfEC1
0 ETH0.0032846644.21587508
Sweep146705802022-04-28 3:44:02804 days ago1651117442IN
0x2cff7417...9c21AfEC1
0 ETH0.003439760.78832729
Transfer146705622022-04-28 3:40:55804 days ago1651117255IN
0x2cff7417...9c21AfEC1
0.52929622 ETH0.0009886946.96645829
Sweep144350122022-03-22 8:23:26841 days ago1647937406IN
0x2cff7417...9c21AfEC1
0 ETH0.0016975530
Transfer144349872022-03-22 8:18:14841 days ago1647937094IN
0x2cff7417...9c21AfEC1
0.52952801 ETH0.00046522.08936253
Sweep141932712022-02-12 19:47:56878 days ago1644695276IN
0x2cff7417...9c21AfEC1
0 ETH0.0034865961.61688924
Transfer141932552022-02-12 19:44:13878 days ago1644695053IN
0x2cff7417...9c21AfEC1
0.52910502 ETH0.0011373654.02910427
Sweep139627542022-01-08 5:00:35914 days ago1641618035IN
0x2cff7417...9c21AfEC1
0 ETH0.0051265390.59877424
Transfer139627372022-01-08 4:56:22914 days ago1641617782IN
0x2cff7417...9c21AfEC1
0.52817136 ETH0.0018987190.19602177
Sweep137491742021-12-06 0:33:51947 days ago1638750831IN
0x2cff7417...9c21AfEC1
0 ETH0.00643926113.79817325
Transfer137491552021-12-06 0:29:53947 days ago1638750593IN
0x2cff7417...9c21AfEC1
0.52810081 ETH0.00240645114.31558141
Sweep135571912021-11-05 14:43:28977 days ago1636123408IN
0x2cff7417...9c21AfEC1
0 ETH0.013556239.56896648
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
155211762022-09-12 13:47:32667 days ago1662990452
0x2cff7417...9c21AfEC1
0.09844736 ETH
154808622022-09-06 0:13:38673 days ago1662423218
0x2cff7417...9c21AfEC1
0.06627684 ETH
154531182022-09-01 13:22:56678 days ago1662038576
0x2cff7417...9c21AfEC1
0.22982552 ETH
153577642022-08-17 8:53:46693 days ago1660726426
0x2cff7417...9c21AfEC1
0.529931 ETH
151097222022-07-09 17:19:24731 days ago1657387164
0x2cff7417...9c21AfEC1
0.52974114 ETH
148933952022-06-02 21:55:36768 days ago1654206936
0x2cff7417...9c21AfEC1
0.52938559 ETH
146705802022-04-28 3:44:02804 days ago1651117442
0x2cff7417...9c21AfEC1
0.52929622 ETH
144350122022-03-22 8:23:26841 days ago1647937406
0x2cff7417...9c21AfEC1
0.52952802 ETH
141932712022-02-12 19:47:56878 days ago1644695276
0x2cff7417...9c21AfEC1
0.52910503 ETH
139627542022-01-08 5:00:35914 days ago1641618035
0x2cff7417...9c21AfEC1
0.52817136 ETH
137491742021-12-06 0:33:51947 days ago1638750831
0x2cff7417...9c21AfEC1
0.52810081 ETH
135571912021-11-05 14:43:28977 days ago1636123408
0x2cff7417...9c21AfEC1
0.52759281 ETH
66859202018-11-11 17:35:462067 days ago1541957746  Contract Creation0 ETH
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.