ETH Price: $2,140.55 (-2.29%)
Gas: 0.33 Gwei

Contract

0xcaa0b84D4Ca5725787dD08bbB5b28BEE0c2B4E00
 

Overview

ETH Balance

0.045775953053613584 ETH

Eth Value

$97.99 (@ $2,140.55/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer108347622020-09-10 15:19:102015 days ago1599751150IN
0xcaa0b84D...E0c2B4E00
0.02569091 ETH0.000021051
Transfer107889922020-09-03 15:00:262022 days ago1599145226IN
0xcaa0b84D...E0c2B4E00
0.01006893 ETH0.000021051
Transfer106790372020-08-17 18:03:442039 days ago1597687424IN
0xcaa0b84D...E0c2B4E00
0.01001609 ETH0.000021051
Sweep102139602020-06-06 19:09:162111 days ago1591470556IN
0xcaa0b84D...E0c2B4E00
0 ETH0.0016151828.35
Transfer102139422020-06-06 19:04:102111 days ago1591470250IN
0xcaa0b84D...E0c2B4E00
0.01234739 ETH0.000021051
Transfer101688992020-05-30 19:01:162118 days ago1590865276IN
0xcaa0b84D...E0c2B4E00
0.01829538 ETH0.000021051
Transfer101238502020-05-23 18:58:002125 days ago1590260280IN
0xcaa0b84D...E0c2B4E00
0.02323074 ETH0.000021051
Sweep100788822020-05-16 19:03:492132 days ago1589655829IN
0xcaa0b84D...E0c2B4E00
0 ETH0.001253422
Transfer100788502020-05-16 18:57:412132 days ago1589655461IN
0xcaa0b84D...E0c2B4E00
0.02107951 ETH0.000021051
Transfer100337522020-05-09 18:56:482139 days ago1589050608IN
0xcaa0b84D...E0c2B4E00
0.01000006 ETH0.000021051
Transfer99771422020-05-01 0:43:412148 days ago1588293821IN
0xcaa0b84D...E0c2B4E00
0.0246564 ETH0.000021051
Sweep99320262020-04-24 0:41:142155 days ago1587688874IN
0xcaa0b84D...E0c2B4E00
0 ETH0.001253422
Transfer99320082020-04-24 0:36:242155 days ago1587688584IN
0xcaa0b84D...E0c2B4E00
0.0100031 ETH0.000021051
Transfer98780272020-04-15 16:14:222163 days ago1586967262IN
0xcaa0b84D...E0c2B4E00
0.02121696 ETH0.000021051
Transfer98325102020-04-08 16:05:452170 days ago1586361945IN
0xcaa0b84D...E0c2B4E00
0.02218049 ETH0.000021051
Sweep97869922020-04-01 16:06:572177 days ago1585757217IN
0xcaa0b84D...E0c2B4E00
0 ETH0.001253422
Transfer97869742020-04-01 16:00:472177 days ago1585756847IN
0xcaa0b84D...E0c2B4E00
0.02504482 ETH0.000021051
Transfer97414162020-03-25 15:57:512184 days ago1585151871IN
0xcaa0b84D...E0c2B4E00
0.02411263 ETH0.000021051
Transfer96964702020-03-18 15:47:132191 days ago1584546433IN
0xcaa0b84D...E0c2B4E00
0.01876695 ETH0.000021051
Sweep96511242020-03-11 15:49:592198 days ago1583941799IN
0xcaa0b84D...E0c2B4E00
0 ETH0.001253422
Transfer96511002020-03-11 15:44:302198 days ago1583941470IN
0xcaa0b84D...E0c2B4E00
0.02446951 ETH0.000021051
Transfer96055282020-03-04 15:38:372205 days ago1583336317IN
0xcaa0b84D...E0c2B4E00
0.02432838 ETH0.000021051
Transfer95599792020-02-26 15:32:152212 days ago1582731135IN
0xcaa0b84D...E0c2B4E00
0.02308361 ETH0.000021051
Sweep95144792020-02-19 15:32:512219 days ago1582126371IN
0xcaa0b84D...E0c2B4E00
0 ETH0.0012536722
Transfer95144652020-02-19 15:29:482219 days ago1582126188IN
0xcaa0b84D...E0c2B4E00
0.02474882 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-102139602020-06-06 19:09:162111 days ago1591470556
0xcaa0b84D...E0c2B4E00
0.05387352 ETH
-100788822020-05-16 19:03:492132 days ago1589655829
0xcaa0b84D...E0c2B4E00
0.05573598 ETH
-99320262020-04-24 0:41:142155 days ago1587688874
0xcaa0b84D...E0c2B4E00
0.05340056 ETH
-97869922020-04-01 16:06:572177 days ago1585757217
0xcaa0b84D...E0c2B4E00
0.06792441 ETH
-96511242020-03-11 15:49:592198 days ago1583941799
0xcaa0b84D...E0c2B4E00
0.07188151 ETH
-95144792020-02-19 15:32:512219 days ago1582126371
0xcaa0b84D...E0c2B4E00
0.07370253 ETH
-93778672020-01-29 15:26:412240 days ago1580311601
0xcaa0b84D...E0c2B4E00
0.07060001 ETH
-92407722020-01-08 15:19:012261 days ago1578496741
0xcaa0b84D...E0c2B4E00
0.06617759 ETH
-91261492019-12-18 15:08:342282 days ago1576681714
0xcaa0b84D...E0c2B4E00
0.06567596 ETH
-90103752019-11-27 14:52:012303 days ago1574866321
0xcaa0b84D...E0c2B4E00
0.07210714 ETH
-88844322019-11-06 14:44:242324 days ago1573051464
0xcaa0b84D...E0c2B4E00
0.05013472 ETH
-87972822019-10-23 14:36:202338 days ago1571841380
0xcaa0b84D...E0c2B4E00
0.05924081 ETH
-86633952019-10-02 14:26:592359 days ago1570026419
0xcaa0b84D...E0c2B4E00
0.05399251 ETH
-85739152019-09-18 14:20:192373 days ago1568816419
0xcaa0b84D...E0c2B4E00
0.05455308 ETH
-84840692019-09-04 14:11:182387 days ago1567606278
0xcaa0b84D...E0c2B4E00
0.07030896 ETH
-83490492019-08-14 14:03:372408 days ago1565791417
0xcaa0b84D...E0c2B4E00
0.06031151 ETH
-82587752019-07-31 13:53:382423 days ago1564581218
0xcaa0b84D...E0c2B4E00
0.0652293 ETH
-80055712019-06-22 4:03:052462 days ago1561176185
0xcaa0b84D...E0c2B4E00
0.06482115 ETH
-79160862019-06-08 3:55:062476 days ago1559966106
0xcaa0b84D...E0c2B4E00
0.06270149 ETH
-77818072019-05-18 3:44:522497 days ago1558151092
0xcaa0b84D...E0c2B4E00
0.07272954 ETH
-76920662019-05-04 3:35:422511 days ago1556940942
0xcaa0b84D...E0c2B4E00
0.08096516 ETH
-76021912019-04-20 3:31:172525 days ago1555731077
0xcaa0b84D...E0c2B4E00
0.07790009 ETH
-75120942019-04-06 3:18:092539 days ago1554520689
0xcaa0b84D...E0c2B4E00
0.08703767 ETH
-74225342019-03-23 3:13:352553 days ago1553310815
0xcaa0b84D...E0c2B4E00
0.07622307 ETH
-73324582019-03-09 3:04:262567 days ago1552100666
0xcaa0b84D...E0c2B4E00
0.07670017 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.