ETH Price: $1,983.92 (+1.66%)

Contract

0x4Cf8A5C301F95cd17bf3d871997cf298fD01A8f0
 

Overview

ETH Balance

0.000000005541543279 ETH

Eth Value

Less Than $0.01 (@ $1,983.92/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep102002102020-06-04 15:46:362103 days ago1591285596IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0027352848
Transfer102001932020-06-04 15:43:202103 days ago1591285400IN
0x4Cf8A5C3...8fD01A8f0
0.797 ETH0.0008630941
Sweep102000682020-06-04 15:11:572103 days ago1591283517IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0029056251
Transfer102000532020-06-04 15:07:122103 days ago1591283232IN
0x4Cf8A5C3...8fD01A8f0
0.217 ETH0.0008841442
Transfer82009612019-07-22 14:19:352421 days ago1563805175IN
0x4Cf8A5C3...8fD01A8f0
0.00161119 ETH0.00012636
Sweep63522092018-09-18 3:40:332729 days ago1537242033IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0024996550
Transfer63521962018-09-18 3:38:352729 days ago1537241915IN
0x4Cf8A5C3...8fD01A8f0
8.65 ETH0.0008499340.375
Transfer63521622018-09-18 3:32:202729 days ago1537241540IN
0x4Cf8A5C3...8fD01A8f0
8.65558961 ETH0.00011555.5
Sweep61548302018-08-16 0:27:302762 days ago1534379250IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0050057100
Transfer61548042018-08-16 0:20:352762 days ago1534378835IN
0x4Cf8A5C3...8fD01A8f0
1.999 ETH0.0008420440
Sweep61079762018-08-08 2:26:042770 days ago1533695164IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0050057100
Transfer61079532018-08-08 2:21:022770 days ago1533694862IN
0x4Cf8A5C3...8fD01A8f0
1.999 ETH0.0008420440
Sweep60628802018-07-31 11:34:502777 days ago1533036890IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0050057100
Transfer60628582018-07-31 11:30:412777 days ago1533036641IN
0x4Cf8A5C3...8fD01A8f0
0.18871142 ETH0.0008630941
Sweep59897632018-07-19 2:35:072790 days ago1531967707IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0049993100
Transfer59897312018-07-19 2:26:002790 days ago1531967160IN
0x4Cf8A5C3...8fD01A8f0
2.748 ETH0.00004212
Sweep59850162018-07-18 6:48:312791 days ago1531896511IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0050057100
Transfer59849792018-07-18 6:41:212791 days ago1531896081IN
0x4Cf8A5C3...8fD01A8f0
3.33773469 ETH0.0008420440
Sweep55521392018-05-04 1:02:462866 days ago1525395766IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0025028550
Transfer55521182018-05-04 0:56:262866 days ago1525395386IN
0x4Cf8A5C3...8fD01A8f0
9.16170051 ETH0.0008630941
Sweep51060022018-02-17 10:01:562942 days ago1518861716IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0025028550
Transfer51059502018-02-17 9:48:522942 days ago1518860932IN
0x4Cf8A5C3...8fD01A8f0
0.15462047 ETH0.0008630941
Sweep50677412018-02-10 23:40:442948 days ago1518306044IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0045051390
Transfer50677112018-02-10 23:34:362948 days ago1518305676IN
0x4Cf8A5C3...8fD01A8f0
0.11299592 ETH0.0021051100
Sweep50508162018-02-08 3:48:532951 days ago1518061733IN
0x4Cf8A5C3...8fD01A8f0
0 ETH0.0045051390
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-102002102020-06-04 15:46:362103 days ago1591285596
0x4Cf8A5C3...8fD01A8f0
0.797 ETH
-102000682020-06-04 15:11:572103 days ago1591283517
0x4Cf8A5C3...8fD01A8f0
0.2186112 ETH
Transfer63522092018-09-18 3:40:332729 days ago1537242033
0x4Cf8A5C3...8fD01A8f0
8.65 ETH
Transfer61548302018-08-16 0:27:302762 days ago1534379250
0x4Cf8A5C3...8fD01A8f0
1.999 ETH
Transfer61079762018-08-08 2:26:042770 days ago1533695164
0x4Cf8A5C3...8fD01A8f0
1.999 ETH
Transfer60628802018-07-31 11:34:502777 days ago1533036890
0x4Cf8A5C3...8fD01A8f0
0.18871142 ETH
Transfer59897632018-07-19 2:35:072790 days ago1531967707
0x4Cf8A5C3...8fD01A8f0
2.748 ETH
Transfer59850162018-07-18 6:48:312791 days ago1531896511
0x4Cf8A5C3...8fD01A8f0
3.33773469 ETH
Transfer55521392018-05-04 1:02:462866 days ago1525395766
0x4Cf8A5C3...8fD01A8f0
9.16170052 ETH
Transfer51060022018-02-17 10:01:562942 days ago1518861716
0x4Cf8A5C3...8fD01A8f0
0.15462047 ETH
Transfer50677412018-02-10 23:40:442948 days ago1518306044
0x4Cf8A5C3...8fD01A8f0
0.11299592 ETH
Transfer50508162018-02-08 3:48:532951 days ago1518061733
0x4Cf8A5C3...8fD01A8f0
0.90547629 ETH
Transfer49709212018-01-25 16:17:112964 days ago1516897031
0x4Cf8A5C3...8fD01A8f0
0.06453053 ETH
Transfer48681232018-01-07 8:50:302983 days ago1515315030
0x4Cf8A5C3...8fD01A8f0
0.2248789 ETH
Transfer47984472017-12-26 4:12:492995 days ago1514261569
0x4Cf8A5C3...8fD01A8f0
0.40540854 ETH
Transfer47324982017-12-14 18:11:343006 days ago1513275094
0x4Cf8A5C3...8fD01A8f0
0.6038351 ETH
Transfer46308212017-11-27 9:07:283024 days ago1511773648
0x4Cf8A5C3...8fD01A8f0
1.605 ETH
Transfer45043882017-11-07 0:48:183044 days ago1510015698
0x4Cf8A5C3...8fD01A8f0
4.97238331 ETH
Transfer43841002017-10-18 16:11:563063 days ago1508343116
0x4Cf8A5C3...8fD01A8f0
0.20135078 ETH
Transfer43539912017-10-10 17:21:353071 days ago1507656095
0x4Cf8A5C3...8fD01A8f0
0.20018039 ETH
Transfer43353852017-10-04 6:23:443078 days ago1507098224
0x4Cf8A5C3...8fD01A8f0
2.23387678 ETH
Transfer42578032017-09-10 5:54:563102 days ago1505022896
0x4Cf8A5C3...8fD01A8f0
8.96 ETH
Transfer42024052017-08-25 12:48:343117 days ago1503665314
0x4Cf8A5C3...8fD01A8f0
10 ETH
Transfer42023282017-08-25 12:19:113117 days ago1503663551
0x4Cf8A5C3...8fD01A8f0
0.101 ETH
Transfer41819302017-08-20 13:47:453122 days ago1503236865  Contract Creation0 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.