ETH Price: $2,564.68 (+0.73%)

Contract

0xcab54963591D9F3ea83c940d6e3C9e4DCd297A7b
 

Overview

ETH Balance

0.048947161839244928 ETH

Eth Value

$125.53 (@ $2,564.68/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer78491142019-05-28 16:31:011943 days ago1559061061IN
0xcab54963...DCd297A7b
0.04894715 ETH0.000021051
Sweep78042982019-05-21 16:32:061950 days ago1558456326IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer78042822019-05-21 16:27:031950 days ago1558456023IN
0xcab54963...DCd297A7b
0.05008826 ETH0.000021051
Sweep77743622019-05-16 23:54:431954 days ago1558050883IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer77743462019-05-16 23:51:501954 days ago1558050710IN
0xcab54963...DCd297A7b
0.05003943 ETH0.000021051
Sweep77418872019-05-11 22:23:201959 days ago1557613400IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer77418722019-05-11 22:20:101959 days ago1557613210IN
0xcab54963...DCd297A7b
0.05003353 ETH0.000021051
Sweep77160062019-05-07 21:12:361964 days ago1557263556IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer77159922019-05-07 21:10:191964 days ago1557263419IN
0xcab54963...DCd297A7b
0.05002047 ETH0.000021051
Sweep76910772019-05-03 23:55:521967 days ago1556927752IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer76906452019-05-03 22:13:421967 days ago1556921622IN
0xcab54963...DCd297A7b
0.05002653 ETH0.000021051
Sweep76659332019-04-30 1:46:231971 days ago1556588783IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer76659162019-04-30 1:43:031971 days ago1556588583IN
0xcab54963...DCd297A7b
0.05003969 ETH0.000021051
Sweep76413822019-04-26 6:27:191975 days ago1556260039IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer76413652019-04-26 6:23:311975 days ago1556259811IN
0xcab54963...DCd297A7b
0.05003012 ETH0.000021051
Sweep76104072019-04-21 10:27:331980 days ago1555842453IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer76103772019-04-21 10:20:331980 days ago1555842033IN
0xcab54963...DCd297A7b
0.05004783 ETH0.000021051
Sweep75790402019-04-16 12:51:011985 days ago1555419061IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer75790182019-04-16 12:47:241985 days ago1555418844IN
0xcab54963...DCd297A7b
0.05002684 ETH0.000021051
Sweep75547532019-04-12 18:28:011989 days ago1555093681IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer75547312019-04-12 18:24:551989 days ago1555093495IN
0xcab54963...DCd297A7b
0.05002434 ETH0.000021051
Sweep75240812019-04-07 23:49:261993 days ago1554680966IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer75240662019-04-07 23:45:281993 days ago1554680728IN
0xcab54963...DCd297A7b
0.05001408 ETH0.000021051
Sweep74929772019-04-03 3:33:481998 days ago1554262428IN
0xcab54963...DCd297A7b
0 ETH0.0024996550
Transfer74929652019-04-03 3:30:461998 days ago1554262246IN
0xcab54963...DCd297A7b
0.0500557 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
78042982019-05-21 16:32:061950 days ago1558456326
0xcab54963...DCd297A7b
0.05008826 ETH
77743622019-05-16 23:54:431954 days ago1558050883
0xcab54963...DCd297A7b
0.05003943 ETH
77418872019-05-11 22:23:201959 days ago1557613400
0xcab54963...DCd297A7b
0.05003354 ETH
77160062019-05-07 21:12:361964 days ago1557263556
0xcab54963...DCd297A7b
0.05002047 ETH
76910772019-05-03 23:55:521967 days ago1556927752
0xcab54963...DCd297A7b
0.05002654 ETH
76659332019-04-30 1:46:231971 days ago1556588783
0xcab54963...DCd297A7b
0.05003969 ETH
76413822019-04-26 6:27:191975 days ago1556260039
0xcab54963...DCd297A7b
0.05003013 ETH
76104072019-04-21 10:27:331980 days ago1555842453
0xcab54963...DCd297A7b
0.05004784 ETH
75790402019-04-16 12:51:011985 days ago1555419061
0xcab54963...DCd297A7b
0.05002685 ETH
75547532019-04-12 18:28:011989 days ago1555093681
0xcab54963...DCd297A7b
0.05002434 ETH
75240812019-04-07 23:49:261993 days ago1554680966
0xcab54963...DCd297A7b
0.05001409 ETH
74929772019-04-03 3:33:481998 days ago1554262428
0xcab54963...DCd297A7b
0.0500557 ETH
74631722019-03-29 11:33:442003 days ago1553859224
0xcab54963...DCd297A7b
0.05001885 ETH
74302412019-03-24 8:13:572008 days ago1553415237
0xcab54963...DCd297A7b
0.05000088 ETH
73994102019-03-19 12:59:452013 days ago1553000385
0xcab54963...DCd297A7b
0.05002359 ETH
73567112019-03-12 21:18:482020 days ago1552425528
0xcab54963...DCd297A7b
0.0500172 ETH
73207892019-03-07 7:13:502025 days ago1551942830
0xcab54963...DCd297A7b
0.05003118 ETH
72829762019-03-01 8:58:262031 days ago1551430706
0xcab54963...DCd297A7b
0.08484692 ETH
72228402019-02-15 8:46:212045 days ago1550220381
0xcab54963...DCd297A7b
0.05002042 ETH
72023672019-02-10 11:30:402050 days ago1549798240
0xcab54963...DCd297A7b
0.05008051 ETH
71872062019-02-07 8:21:212053 days ago1549527681
0xcab54963...DCd297A7b
0.05006641 ETH
71708512019-02-04 0:24:392056 days ago1549239879
0xcab54963...DCd297A7b
0.05000923 ETH
71501632019-01-30 19:00:032061 days ago1548874803
0xcab54963...DCd297A7b
0.05004475 ETH
71289582019-01-26 12:07:512065 days ago1548504471
0xcab54963...DCd297A7b
0.05003915 ETH
71047672019-01-21 17:39:072070 days ago1548092347
0xcab54963...DCd297A7b
0.09687862 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

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