ETH Price: $2,013.58 (+4.03%)
Gas: 0.18 Gwei

Contract

0xCecCFB0699f78cAEF084f4F0f6934766Ebeb4B52
 

Overview

ETH Balance

0.000000007 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep120180402021-03-11 15:18:501824 days ago1615475930IN
0xCecCFB06...6Ebeb4B52
0 ETH0.01071887188.1
Transfer120180232021-03-11 15:14:221824 days ago1615475662IN
0xCecCFB06...6Ebeb4B52
0.29560624 ETH0.00359972171
Sweep119744352021-03-04 22:14:581830 days ago1614896098IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0052027391.3
Transfer119744102021-03-04 22:08:211830 days ago1614895701IN
0xCecCFB06...6Ebeb4B52
0.35259768 ETH0.00235771112
Transfer115318432020-12-26 21:45:261898 days ago1609019126IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0012660
Transfer115318432020-12-26 21:45:261898 days ago1609019126IN
0xCecCFB06...6Ebeb4B52
0.05547138 ETH0.00117656
Transfer115318432020-12-26 21:45:261898 days ago1609019126IN
0xCecCFB06...6Ebeb4B52
0.05507238 ETH0.00157575
Sweep79211382019-06-08 22:48:532465 days ago1560034133IN
0xCecCFB06...6Ebeb4B52
0 ETH0.002545150
Sweep79099112019-06-07 4:27:322467 days ago1559881652IN
0xCecCFB06...6Ebeb4B52
0 ETH0.002545150
Sweep79020072019-06-05 22:56:032468 days ago1559775363IN
0xCecCFB06...6Ebeb4B52
0 ETH0.002545150
Sweep75932912019-04-18 18:29:152516 days ago1555612155IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0025028550
Sweep73112552019-03-05 19:45:052560 days ago1551815105IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0025028550
Sweep70894582019-01-18 22:25:382606 days ago1547850338IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0024996550
Sweep57041912018-05-30 19:11:132839 days ago1527707473IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0024996550
Transfer57041752018-05-30 19:07:142839 days ago1527707234IN
0xCecCFB06...6Ebeb4B52
3.57 ETH0.0008630941
Sweep57039122018-05-30 18:02:312839 days ago1527703351IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0024996550
Transfer57038942018-05-30 17:57:492839 days ago1527703069IN
0xCecCFB06...6Ebeb4B52
2 ETH0.0008630941
Transfer57038102018-05-30 17:36:552840 days ago1527701815IN
0xCecCFB06...6Ebeb4B52
2 ETH0.0004220
Transfer57037382018-05-30 17:20:082840 days ago1527700808IN
0xCecCFB06...6Ebeb4B52
2 ETH0.0004220
Sweep51493452018-02-24 18:35:062934 days ago1519497306IN
0xCecCFB06...6Ebeb4B52
0 ETH0.00230550
Sweep51273072018-02-21 0:26:422938 days ago1519172802IN
0xCecCFB06...6Ebeb4B52
0 ETH0.00230550
Sweep49910582018-01-29 1:14:262961 days ago1517188466IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0045051390
Transfer49910212018-01-29 1:06:502961 days ago1517188010IN
0xCecCFB06...6Ebeb4B52
0.44787596 ETH0.0008630941
Transfer49909602018-01-29 0:50:562961 days ago1517187056IN
0xCecCFB06...6Ebeb4B52
0.44873905 ETH0.00044121
Sweep49789212018-01-27 0:44:542963 days ago1517013894IN
0xCecCFB06...6Ebeb4B52
0 ETH0.0045051390
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-120180402021-03-11 15:18:501824 days ago1615475930
0xCecCFB06...6Ebeb4B52
0.29560624 ETH
-119744352021-03-04 22:14:581830 days ago1614896098
0xCecCFB06...6Ebeb4B52
0.35259768 ETH
-75932912019-04-18 18:29:152516 days ago1555612155
0xCecCFB06...6Ebeb4B52
5.69502816 ETH
-75932752019-04-18 18:25:002516 days ago1555611900
0xCecCFB06...6Ebeb4B52
5.69502816 ETH
-73112552019-03-05 19:45:052560 days ago1551815105
0xCecCFB06...6Ebeb4B52
14.83966591 ETH
-73112402019-03-05 19:42:082560 days ago1551814928
0xCecCFB06...6Ebeb4B52
14.83966591 ETH
-70894582019-01-18 22:25:382606 days ago1547850338
0xCecCFB06...6Ebeb4B52
17.99 ETH
-70894432019-01-18 22:21:282606 days ago1547850088
0xCecCFB06...6Ebeb4B52
17.99 ETH
Transfer57041912018-05-30 19:11:132839 days ago1527707473
0xCecCFB06...6Ebeb4B52
3.57 ETH
Transfer57039122018-05-30 18:02:312839 days ago1527703351
0xCecCFB06...6Ebeb4B52
2 ETH
Transfer49910582018-01-29 1:14:262961 days ago1517188466
0xCecCFB06...6Ebeb4B52
0.44787596 ETH
Transfer49789212018-01-27 0:44:542963 days ago1517013894
0xCecCFB06...6Ebeb4B52
0.28547 ETH
Transfer49781462018-01-26 21:32:182963 days ago1517002338
0xCecCFB06...6Ebeb4B52
0.29022 ETH
Transfer48257472017-12-30 19:42:002990 days ago1514662920
0xCecCFB06...6Ebeb4B52
1.352 ETH
Transfer48219042017-12-30 3:47:172991 days ago1514605637
0xCecCFB06...6Ebeb4B52
1.351 ETH
Transfer47918942017-12-25 2:05:552996 days ago1514167555  Contract Creation0 ETH
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.