ETH Price: $2,836.86 (+2.34%)

Contract

0x4c26721f54Db530ceF6221D454254264a2491A5E
 

Overview

ETH Balance

0.000000007225223531 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep58107552018-06-18 12:08:492442 days ago1529323729IN
0x4c26721f...4a2491A5E
0 ETH0.0025028550
Transfer58107302018-06-18 12:01:472442 days ago1529323307IN
0x4c26721f...4a2491A5E
0.32174494 ETH0.0010525550
Transfer56524762018-05-21 15:11:542470 days ago1526915514IN
0x4c26721f...4a2491A5E
0.01326147 ETH0.000021051
Sweep56128302018-05-14 15:18:362477 days ago1526311116IN
0x4c26721f...4a2491A5E
0 ETH0.0024996550
Transfer56127802018-05-14 15:03:022477 days ago1526310182IN
0x4c26721f...4a2491A5E
0.04082724 ETH0.000021051
Transfer55726102018-05-07 15:01:152484 days ago1525705275IN
0x4c26721f...4a2491A5E
0.01088295 ETH0.000021051
Sweep55326832018-04-30 14:57:282491 days ago1525100248IN
0x4c26721f...4a2491A5E
0 ETH0.0024996550
Transfer55326662018-04-30 14:52:562491 days ago1525099976IN
0x4c26721f...4a2491A5E
0.02203721 ETH0.000021051
Transfer54922742018-04-23 14:44:532498 days ago1524494693IN
0x4c26721f...4a2491A5E
0.04478831 ETH0.000021051
Sweep54514642018-04-16 14:52:022505 days ago1523890322IN
0x4c26721f...4a2491A5E
0 ETH0.0025028550
Transfer54514332018-04-16 14:44:012505 days ago1523889841IN
0x4c26721f...4a2491A5E
0.04646471 ETH0.000021051
Transfer54097032018-04-09 14:35:232512 days ago1523284523IN
0x4c26721f...4a2491A5E
0.04740728 ETH0.000021051
Sweep53675552018-04-02 14:39:162519 days ago1522679956IN
0x4c26721f...4a2491A5E
0 ETH0.0025028550
Transfer53675182018-04-02 14:32:102519 days ago1522679530IN
0x4c26721f...4a2491A5E
0.04665924 ETH0.000021051
Transfer53257222018-03-26 14:31:022526 days ago1522074662IN
0x4c26721f...4a2491A5E
0.04457112 ETH0.000021051
Sweep52893952018-03-20 13:21:162532 days ago1521552076IN
0x4c26721f...4a2491A5E
0 ETH0.0024996550
Transfer52893652018-03-20 13:11:362532 days ago1521551496IN
0x4c26721f...4a2491A5E
0.4 ETH0.0010525550
Sweep52840402018-03-19 15:42:162533 days ago1521474136IN
0x4c26721f...4a2491A5E
0 ETH0.0025028550
Transfer52839982018-03-19 15:32:332533 days ago1521473553IN
0x4c26721f...4a2491A5E
0.04498711 ETH0.000021051
Transfer52427492018-03-12 15:25:052540 days ago1520868305IN
0x4c26721f...4a2491A5E
0.04283592 ETH0.000021051
Sweep52014932018-03-05 15:25:502547 days ago1520263550IN
0x4c26721f...4a2491A5E
0 ETH0.0025028550
Transfer52014572018-03-05 15:16:262547 days ago1520262986IN
0x4c26721f...4a2491A5E
0.04430712 ETH0.000021051
Transfer51601892018-02-26 15:13:312554 days ago1519658011IN
0x4c26721f...4a2491A5E
0.04456287 ETH0.000021051
Sweep51192882018-02-19 15:21:402561 days ago1519053700IN
0x4c26721f...4a2491A5E
0 ETH0.0024996550
Transfer51192312018-02-19 15:06:342561 days ago1519052794IN
0x4c26721f...4a2491A5E
0.05016892 ETH0.000021051
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
58107552018-06-18 12:08:492442 days ago1529323729
0x4c26721f...4a2491A5E
0.33500642 ETH
56128302018-05-14 15:18:362477 days ago1526311116
0x4c26721f...4a2491A5E
0.05171019 ETH
55326832018-04-30 14:57:282491 days ago1525100248
0x4c26721f...4a2491A5E
0.06682553 ETH
54514642018-04-16 14:52:022505 days ago1523890322
0x4c26721f...4a2491A5E
0.09387201 ETH
53675552018-04-02 14:39:162519 days ago1522679956
0x4c26721f...4a2491A5E
0.09123037 ETH
52893952018-03-20 13:21:162532 days ago1521552076
0x4c26721f...4a2491A5E
0.4 ETH
52840402018-03-19 15:42:162533 days ago1521474136
0x4c26721f...4a2491A5E
0.08782304 ETH
52014932018-03-05 15:25:502547 days ago1520263550
0x4c26721f...4a2491A5E
0.08886999 ETH
51192882018-02-19 15:21:402561 days ago1519053700
0x4c26721f...4a2491A5E
0.05016893 ETH
50775142018-02-12 15:03:372568 days ago1518447817
0x4c26721f...4a2491A5E
0.09793685 ETH
49943872018-01-29 14:50:452582 days ago1517237445
0x4c26721f...4a2491A5E
0.09663149 ETH
49130402018-01-15 14:45:222596 days ago1516027522
0x4c26721f...4a2491A5E
0.05616232 ETH
48904052018-01-11 11:19:042600 days ago1515669544
0x4c26721f...4a2491A5E
0.119 ETH
48750032018-01-08 14:57:432603 days ago1515423463
0x4c26721f...4a2491A5E
0.07049877 ETH
48362212018-01-01 14:15:562610 days ago1514816156
0x4c26721f...4a2491A5E
0.0729326 ETH
47949472017-12-25 14:18:172617 days ago1514211497
0x4c26721f...4a2491A5E
0.08047947 ETH
47549882017-12-18 15:13:182624 days ago1513609998
0x4c26721f...4a2491A5E
0.07958082 ETH
47146282017-12-11 14:46:532631 days ago1513003613
0x4c26721f...4a2491A5E
0.07341282 ETH
44762772017-11-02 12:13:242670 days ago1509624804  Contract Creation0 ETH
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.