ETH Price: $2,168.66 (-4.45%)

Contract

0xCa04FA93CC4fD9BdfD6FF79D9C5ea6A31e982022
 

Overview

ETH Balance

0.00000000314316035 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep43553662017-10-11 4:24:583081 days ago1507695898IN
0xCa04FA93...31e982022
0 ETH0.0015517631
Transfer43553612017-10-11 4:21:543081 days ago1507695714IN
0xCa04FA93...31e982022
0.12395269 ETH0.0005158124.50290987
Sweep43495732017-10-09 4:19:503083 days ago1507522790IN
0xCa04FA93...31e982022
0 ETH0.0016643633.24933396
Transfer43495632017-10-09 4:13:363083 days ago1507522416IN
0xCa04FA93...31e982022
0.18690194 ETH0.0005832727.7077783
Sweep43437252017-10-07 3:27:493085 days ago1507346869IN
0xCa04FA93...31e982022
0 ETH0.0015517631
Transfer43437172017-10-07 3:25:203085 days ago1507346720IN
0xCa04FA93...31e982022
0.19562346 ETH0.0004892823.24307561
Sweep43380362017-10-05 4:18:523087 days ago1507177132IN
0xCa04FA93...31e982022
0 ETH0.0016405232.81516621
Transfer43380272017-10-05 4:12:343087 days ago1507176754IN
0xCa04FA93...31e982022
0.12312128 ETH0.0005756627.34597184
Sweep43354622017-10-04 7:07:273088 days ago1507100847IN
0xCa04FA93...31e982022
0 ETH0.0015517631
Transfer43354552017-10-04 7:03:003088 days ago1507100580IN
0xCa04FA93...31e982022
0.14067763 ETH0.0004840422.99409069
Sweep43324882017-10-03 6:06:353089 days ago1507010795IN
0xCa04FA93...31e982022
0 ETH0.0016900733.76297067
Transfer43324822017-10-03 6:01:103089 days ago1507010470IN
0xCa04FA93...31e982022
0.14085945 ETH0.0005922828.13580889
Sweep43294822017-10-02 4:36:043090 days ago1506918964IN
0xCa04FA93...31e982022
0 ETH0.0015517631
Transfer43294732017-10-02 4:32:123090 days ago1506918732IN
0xCa04FA93...31e982022
0.14941234 ETH0.0005283225.09758769
Sweep43265552017-10-01 4:09:573091 days ago1506830997IN
0xCa04FA93...31e982022
0 ETH0.0015517631
Transfer43265412017-10-01 4:05:253091 days ago1506830725IN
0xCa04FA93...31e982022
0.15958833 ETH0.000530825.21524015
Sweep43237792017-09-30 5:10:493092 days ago1506748249IN
0xCa04FA93...31e982022
0 ETH0.0017256734.47429198
Transfer43237712017-09-30 5:04:333092 days ago1506747873IN
0xCa04FA93...31e982022
0.1535628 ETH0.0006106529.00850876
Sweep43208522017-09-29 4:13:173093 days ago1506658397IN
0xCa04FA93...31e982022
0 ETH0.002552951
Transfer43208362017-09-29 4:05:393093 days ago1506657939IN
0xCa04FA93...31e982022
0.15520695 ETH0.0005611426.65636939
Sweep43180402017-09-28 4:04:073094 days ago1506571447IN
0xCa04FA93...31e982022
0 ETH0.002552951
Transfer43180282017-09-28 3:59:003094 days ago1506571140IN
0xCa04FA93...31e982022
0.15433093 ETH0.0005499726.12594988
Sweep43151392017-09-27 4:08:263095 days ago1506485306IN
0xCa04FA93...31e982022
0 ETH0.002552951
Transfer43151322017-09-27 4:05:253095 days ago1506485125IN
0xCa04FA93...31e982022
0.1429943 ETH0.00049623.5618586
Sweep43123862017-09-26 5:16:383096 days ago1506402998IN
0xCa04FA93...31e982022
0 ETH0.002552951
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer43553662017-10-11 4:24:583081 days ago1507695898
0xCa04FA93...31e982022
0.1239527 ETH
Transfer43495732017-10-09 4:19:503083 days ago1507522790
0xCa04FA93...31e982022
0.18690194 ETH
Transfer43437252017-10-07 3:27:493085 days ago1507346869
0xCa04FA93...31e982022
0.19562347 ETH
Transfer43380362017-10-05 4:18:523087 days ago1507177132
0xCa04FA93...31e982022
0.12312128 ETH
Transfer43354622017-10-04 7:07:273088 days ago1507100847
0xCa04FA93...31e982022
0.14067764 ETH
Transfer43324882017-10-03 6:06:353089 days ago1507010795
0xCa04FA93...31e982022
0.14085946 ETH
Transfer43294822017-10-02 4:36:043090 days ago1506918964
0xCa04FA93...31e982022
0.14941234 ETH
Transfer43265552017-10-01 4:09:573091 days ago1506830997
0xCa04FA93...31e982022
0.15958834 ETH
Transfer43237792017-09-30 5:10:493092 days ago1506748249
0xCa04FA93...31e982022
0.1535628 ETH
Transfer43208522017-09-29 4:13:173093 days ago1506658397
0xCa04FA93...31e982022
0.15520696 ETH
Transfer43180402017-09-28 4:04:073094 days ago1506571447
0xCa04FA93...31e982022
0.15433094 ETH
Transfer43151392017-09-27 4:08:263095 days ago1506485306
0xCa04FA93...31e982022
0.1429943 ETH
Transfer43123862017-09-26 5:16:383096 days ago1506402998
0xCa04FA93...31e982022
0.13574897 ETH
Transfer43094172017-09-25 4:13:453097 days ago1506312825
0xCa04FA93...31e982022
0.13616189 ETH
Transfer43065012017-09-24 4:22:153098 days ago1506226935
0xCa04FA93...31e982022
0.1452524 ETH
Transfer43035612017-09-23 3:57:343099 days ago1506139054
0xCa04FA93...31e982022
0.15875756 ETH
Transfer43006142017-09-22 4:07:293100 days ago1506053249
0xCa04FA93...31e982022
0.20655799 ETH
Transfer42970762017-09-21 4:14:593101 days ago1505967299
0xCa04FA93...31e982022
0.15567938 ETH
Transfer42933952017-09-20 3:52:283102 days ago1505879548
0xCa04FA93...31e982022
0.16767713 ETH
Transfer42860272017-09-18 2:34:223104 days ago1505702062
0xCa04FA93...31e982022
17.7338 ETH
Transfer42815262017-09-16 20:52:413105 days ago1505595161  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.