ETH Price: $3,619.74 (-7.03%)

Contract

0x04e5C0BFf69CC831F391E810b285b8066EF17472
 

Overview

ETH Balance

0.042702161629000968 ETH

Eth Value

$154.57 (@ $3,619.74/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer80454122019-06-28 8:58:182000 days ago1561712298IN
0x04e5C0BF...66EF17472
0.04270215 ETH0.00012636
Sweep78852822019-06-03 8:03:362025 days ago1559549016IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer78852612019-06-03 7:57:432025 days ago1559548663IN
0x04e5C0BF...66EF17472
0.12381275 ETH0.00012636
Sweep78660692019-05-31 7:56:372028 days ago1559289397IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer78660542019-05-31 7:50:192028 days ago1559289019IN
0x04e5C0BF...66EF17472
0.12843356 ETH0.00012636
Sweep78468352019-05-28 8:01:112031 days ago1559030471IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer78468202019-05-28 7:56:482031 days ago1559030208IN
0x04e5C0BF...66EF17472
0.13035946 ETH0.00012636
Sweep78275772019-05-25 7:53:252034 days ago1558770805IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer78275572019-05-25 7:49:462034 days ago1558770586IN
0x04e5C0BF...66EF17472
0.12905932 ETH0.00012636
Sweep78084242019-05-22 7:59:162037 days ago1558511956IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer78084112019-05-22 7:55:562037 days ago1558511756IN
0x04e5C0BF...66EF17472
0.11849219 ETH0.00012636
Sweep77892702019-05-19 7:54:212040 days ago1558252461IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer77892482019-05-19 7:48:252040 days ago1558252105IN
0x04e5C0BF...66EF17472
0.12884038 ETH0.00012636
Sweep77702992019-05-16 8:48:222043 days ago1557996502IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer77702802019-05-16 8:42:452043 days ago1557996165IN
0x04e5C0BF...66EF17472
0.13322082 ETH0.00012636
Sweep77508142019-05-13 7:51:102046 days ago1557733870IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer77507942019-05-13 7:45:482046 days ago1557733548IN
0x04e5C0BF...66EF17472
0.13353061 ETH0.00012636
Sweep77315922019-05-10 8:00:352049 days ago1557475235IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer77315742019-05-10 7:56:522049 days ago1557475012IN
0x04e5C0BF...66EF17472
0.13568404 ETH0.00012636
Sweep77123872019-05-07 7:36:412052 days ago1557214601IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer77123692019-05-07 7:31:592052 days ago1557214319IN
0x04e5C0BF...66EF17472
0.13406514 ETH0.00012636
Sweep76931892019-05-04 7:36:332055 days ago1556955393IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer76931662019-05-04 7:31:232055 days ago1556955083IN
0x04e5C0BF...66EF17472
0.13579208 ETH0.00012636
Sweep76738722019-05-01 7:32:282058 days ago1556695948IN
0x04e5C0BF...66EF17472
0 ETH0.0025028550
Transfer76738542019-05-01 7:28:002058 days ago1556695680IN
0x04e5C0BF...66EF17472
0.13252848 ETH0.00012636
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
78852822019-06-03 8:03:362025 days ago1559549016
0x04e5C0BF...66EF17472
0.12381276 ETH
78660692019-05-31 7:56:372028 days ago1559289397
0x04e5C0BF...66EF17472
0.12843357 ETH
78468352019-05-28 8:01:112031 days ago1559030471
0x04e5C0BF...66EF17472
0.13035946 ETH
78275772019-05-25 7:53:252034 days ago1558770805
0x04e5C0BF...66EF17472
0.12905932 ETH
78084242019-05-22 7:59:162037 days ago1558511956
0x04e5C0BF...66EF17472
0.1184922 ETH
77892702019-05-19 7:54:212040 days ago1558252461
0x04e5C0BF...66EF17472
0.12884038 ETH
77702992019-05-16 8:48:222043 days ago1557996502
0x04e5C0BF...66EF17472
0.13322082 ETH
77508142019-05-13 7:51:102046 days ago1557733870
0x04e5C0BF...66EF17472
0.13353062 ETH
77315922019-05-10 8:00:352049 days ago1557475235
0x04e5C0BF...66EF17472
0.13568405 ETH
77123872019-05-07 7:36:412052 days ago1557214601
0x04e5C0BF...66EF17472
0.13406515 ETH
76931892019-05-04 7:36:332055 days ago1556955393
0x04e5C0BF...66EF17472
0.13579209 ETH
76738722019-05-01 7:32:282058 days ago1556695948
0x04e5C0BF...66EF17472
0.13252848 ETH
76547752019-04-28 8:13:132061 days ago1556439193
0x04e5C0BF...66EF17472
0.1404476 ETH
76288692019-04-24 7:37:012065 days ago1556091421
0x04e5C0BF...66EF17472
0.11901491 ETH
76096402019-04-21 7:39:442068 days ago1555832384
0x04e5C0BF...66EF17472
0.12938491 ETH
75904542019-04-18 7:37:392071 days ago1555573059
0x04e5C0BF...66EF17472
0.13807762 ETH
75712122019-04-15 7:35:582074 days ago1555313758
0x04e5C0BF...66EF17472
0.13383551 ETH
75518422019-04-12 7:38:312077 days ago1555054711
0x04e5C0BF...66EF17472
0.14813693 ETH
75326122019-04-09 7:39:342080 days ago1554795574
0x04e5C0BF...66EF17472
0.14202182 ETH
75132632019-04-06 7:35:242083 days ago1554536124
0x04e5C0BF...66EF17472
0.14447911 ETH
74940582019-04-03 7:38:372086 days ago1554277117
0x04e5C0BF...66EF17472
0.14812124 ETH
74748232019-03-31 7:31:392089 days ago1554017499
0x04e5C0BF...66EF17472
0.14896901 ETH
74559372019-03-28 8:29:202092 days ago1553761760
0x04e5C0BF...66EF17472
0.09891694 ETH
74429522019-03-26 7:35:392094 days ago1553585739
0x04e5C0BF...66EF17472
0.14149714 ETH
74236402019-03-23 7:38:472097 days ago1553326727
0x04e5C0BF...66EF17472
0.14023014 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.