ETH Price: $2,360.50 (+8.23%)

Contract

0xcFAb6dca3e9D64caA6bD5E83beAf9c10cA34f25F
 

Overview

ETH Balance

0.0000000068659414 ETH

Eth Value

Less Than $0.01 (@ $2,360.50/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep97535192020-03-27 12:40:192180 days ago1585312819IN
0xcFAb6dca...0cA34f25F
0 ETH0.0013664222
Sweep97533952020-03-27 12:10:592180 days ago1585311059IN
0xcFAb6dca...0cA34f25F
0 ETH0.0013658922
Sweep96685742020-03-14 8:42:332193 days ago1584175353IN
0xcFAb6dca...0cA34f25F
0 ETH0.0013658922
Sweep73180522019-03-06 20:55:402567 days ago1551905740IN
0xcFAb6dca...0cA34f25F
0 ETH0.0025028550
Transfer73180372019-03-06 20:51:072567 days ago1551905467IN
0xcFAb6dca...0cA34f25F
2.861755 ETH0.000147357
Sweep73179492019-03-06 20:34:062567 days ago1551904446IN
0xcFAb6dca...0cA34f25F
0 ETH0.0024996550
Transfer73179272019-03-06 20:29:212567 days ago1551904161IN
0xcFAb6dca...0cA34f25F
2 ETH0.000147357
Sweep73178292019-03-06 20:03:312567 days ago1551902611IN
0xcFAb6dca...0cA34f25F
0 ETH0.0024996550
Transfer73178082019-03-06 19:59:592567 days ago1551902399IN
0xcFAb6dca...0cA34f25F
1 ETH0.000147357
Sweep68800712018-12-13 16:43:262650 days ago1544719406IN
0xcFAb6dca...0cA34f25F
0 ETH0.0024996550
Transfer68800552018-12-13 16:39:212650 days ago1544719161IN
0xcFAb6dca...0cA34f25F
1 ETH0.0002105110
Sweep65386872018-10-18 15:00:402706 days ago1539874840IN
0xcFAb6dca...0cA34f25F
0 ETH0.0025028550
Transfer65386632018-10-18 14:54:222706 days ago1539874462IN
0xcFAb6dca...0cA34f25F
1.18498 ETH0.0002105110
Sweep64534542018-10-04 18:53:482720 days ago1538679228IN
0xcFAb6dca...0cA34f25F
0 ETH0.0025028550
Transfer64534262018-10-04 18:49:572720 days ago1538678997IN
0xcFAb6dca...0cA34f25F
2.006769 ETH0.000147357
Sweep63637952018-09-20 1:40:472735 days ago1537407647IN
0xcFAb6dca...0cA34f25F
0 ETH0.0024996550
Transfer63637692018-09-20 1:35:322735 days ago1537407332IN
0xcFAb6dca...0cA34f25F
2 ETH0.000163257.755
Sweep63254322018-09-13 17:51:112741 days ago1536861071IN
0xcFAb6dca...0cA34f25F
0 ETH0.0024996550
Transfer63253982018-09-13 17:43:182741 days ago1536860598IN
0xcFAb6dca...0cA34f25F
1.5 ETH0.0004631222
Sweep62305552018-08-28 19:37:452757 days ago1535485065IN
0xcFAb6dca...0cA34f25F
0 ETH0.0024996550
Transfer62305342018-08-28 19:33:522757 days ago1535484832IN
0xcFAb6dca...0cA34f25F
1.5 ETH0.0004631222
Sweep61173022018-08-09 16:24:012776 days ago1533831841IN
0xcFAb6dca...0cA34f25F
0 ETH0.0050057100
Transfer61172812018-08-09 16:18:442776 days ago1533831524IN
0xcFAb6dca...0cA34f25F
1.024518 ETH0.0012841161
Sweep60354012018-07-26 20:57:352790 days ago1532638655IN
0xcFAb6dca...0cA34f25F
0 ETH0.0049993100
Transfer60353802018-07-26 20:52:102790 days ago1532638330IN
0xcFAb6dca...0cA34f25F
1 ETH0.0004631222
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-73180522019-03-06 20:55:402567 days ago1551905740
0xcFAb6dca...0cA34f25F
2.861755 ETH
-73179492019-03-06 20:34:062567 days ago1551904446
0xcFAb6dca...0cA34f25F
2 ETH
-73178292019-03-06 20:03:312567 days ago1551902611
0xcFAb6dca...0cA34f25F
1 ETH
-68800712018-12-13 16:43:262650 days ago1544719406
0xcFAb6dca...0cA34f25F
1 ETH
Transfer65386872018-10-18 15:00:402706 days ago1539874840
0xcFAb6dca...0cA34f25F
1.18498 ETH
Transfer64534542018-10-04 18:53:482720 days ago1538679228
0xcFAb6dca...0cA34f25F
2.006769 ETH
Transfer63637952018-09-20 1:40:472735 days ago1537407647
0xcFAb6dca...0cA34f25F
2 ETH
Transfer63254322018-09-13 17:51:112741 days ago1536861071
0xcFAb6dca...0cA34f25F
1.5 ETH
Transfer62305552018-08-28 19:37:452757 days ago1535485065
0xcFAb6dca...0cA34f25F
1.5 ETH
Transfer61173022018-08-09 16:24:012776 days ago1533831841
0xcFAb6dca...0cA34f25F
1.024518 ETH
Transfer60354012018-07-26 20:57:352790 days ago1532638655
0xcFAb6dca...0cA34f25F
1 ETH
Transfer59581062018-07-13 18:08:052803 days ago1531505285
0xcFAb6dca...0cA34f25F
1.007354 ETH
Transfer58768952018-06-29 20:55:582817 days ago1530305758
0xcFAb6dca...0cA34f25F
0.831473 ETH
Transfer58209272018-06-20 5:51:462826 days ago1529473906
0xcFAb6dca...0cA34f25F
0.705252 ETH
Transfer57491982018-06-07 19:02:502839 days ago1528398170
0xcFAb6dca...0cA34f25F
0.341886 ETH
Transfer57130822018-06-01 9:10:242845 days ago1527844224
0xcFAb6dca...0cA34f25F
0.342465 ETH
Transfer56690162018-05-24 13:59:562853 days ago1527170396
0xcFAb6dca...0cA34f25F
0.29112 ETH
Transfer56363222018-05-18 18:42:312859 days ago1526668951
0xcFAb6dca...0cA34f25F
0.293784 ETH
Transfer55503082018-05-03 17:30:372874 days ago1525368637
0xcFAb6dca...0cA34f25F
0.297619 ETH
Transfer55128762018-04-27 4:19:522880 days ago1524802792
0xcFAb6dca...0cA34f25F
0.340825 ETH
Transfer54743762018-04-20 13:35:522887 days ago1524231352
0xcFAb6dca...0cA34f25F
0.391466 ETH
Transfer54284602018-04-12 17:22:542895 days ago1523553774
0xcFAb6dca...0cA34f25F
0.5291 ETH
Transfer53889392018-04-06 3:46:102901 days ago1522986370
0xcFAb6dca...0cA34f25F
0.526315 ETH
Transfer53498792018-03-30 16:28:292908 days ago1522427309
0xcFAb6dca...0cA34f25F
0.377622 ETH
Transfer53085332018-03-23 17:59:062915 days ago1521827946
0xcFAb6dca...0cA34f25F
0.53024778 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.