ETH Price: $2,623.13 (+0.29%)

Contract

0xd5c71d88E6F0c9D157091F50de417ee40C0Cb40d
 

Overview

ETH Balance

0.000000008775531579 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep81255512019-07-10 20:13:552040 days ago1562789635IN
0xd5c71d88...40C0Cb40d
0 ETH0.0010998422
Transfer81255242019-07-10 20:08:312040 days ago1562789311IN
0xd5c71d88...40C0Cb40d
0.5632 ETH0.000105255
Sweep81183542019-07-09 17:18:472041 days ago1562692727IN
0xd5c71d88...40C0Cb40d
0 ETH0.0013755722
Sweep79827852019-06-18 14:20:072063 days ago1560867607IN
0xd5c71d88...40C0Cb40d
0 ETH0.0025028550
Transfer*79827612019-06-18 14:16:152063 days ago1560867375IN
0xd5c71d88...40C0Cb40d
2.48136213 ETH0.000190079
Sweep79561132019-06-14 10:01:062067 days ago1560506466IN
0xd5c71d88...40C0Cb40d
0 ETH0.0024996550
Transfer*79560942019-06-14 9:56:142067 days ago1560506174IN
0xd5c71d88...40C0Cb40d
2.44 ETH0.0002534212
Sweep79371592019-06-11 11:07:092070 days ago1560251229IN
0xd5c71d88...40C0Cb40d
0 ETH0.0024996550
Transfer*79371462019-06-11 11:04:042070 days ago1560251044IN
0xd5c71d88...40C0Cb40d
3 ETH0.0002111910
Sweep79239192019-06-09 9:21:532072 days ago1560072113IN
0xd5c71d88...40C0Cb40d
0 ETH0.0024996550
Transfer*79238982019-06-09 9:15:372072 days ago1560071737IN
0xd5c71d88...40C0Cb40d
2.2 ETH0.000126716
Sweep79219242019-06-09 1:42:452072 days ago1560044565IN
0xd5c71d88...40C0Cb40d
0 ETH0.0025028550
Transfer79219182019-06-09 1:42:162072 days ago1560044536IN
0xd5c71d88...40C0Cb40d
1.04623084 ETH0.0010525550
Transfer*79219072019-06-09 1:38:582072 days ago1560044338IN
0xd5c71d88...40C0Cb40d
3.16 ETH0.0002534212
Sweep79152752019-06-08 0:38:482073 days ago1559954328IN
0xd5c71d88...40C0Cb40d
0 ETH0.0023451550
Sweep79071602019-06-06 18:06:192074 days ago1559844379IN
0xd5c71d88...40C0Cb40d
0 ETH0.0030792550
Sweep78979612019-06-05 7:48:132076 days ago1559720893IN
0xd5c71d88...40C0Cb40d
0 ETH0.0024996550
Transfer*78979442019-06-05 7:44:502076 days ago1559720690IN
0xd5c71d88...40C0Cb40d
3.36 ETH0.0002956614
Sweep78927172019-06-04 12:01:122077 days ago1559649672IN
0xd5c71d88...40C0Cb40d
0 ETH0.0024996550
Transfer*78926952019-06-04 11:56:472077 days ago1559649407IN
0xd5c71d88...40C0Cb40d
5.08 ETH0.0007180434
Sweep78849592019-06-03 6:48:482078 days ago1559544528IN
0xd5c71d88...40C0Cb40d
0 ETH0.0025028550
Transfer78849382019-06-03 6:43:242078 days ago1559544204IN
0xd5c71d88...40C0Cb40d
1.00947215 ETH0.0010525550
Sweep78847032019-06-03 5:49:152078 days ago1559540955IN
0xd5c71d88...40C0Cb40d
0 ETH0.002346450
Sweep70102872019-01-04 18:39:352227 days ago1546627175IN
0xd5c71d88...40C0Cb40d
0 ETH0.0025028550
Transfer70102702019-01-04 18:35:132227 days ago1546626913IN
0xd5c71d88...40C0Cb40d
4.12576855 ETH0.0002105110
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
81255512019-07-10 20:13:552040 days ago1562789635
0xd5c71d88...40C0Cb40d
0.5632 ETH
79827852019-06-18 14:20:072063 days ago1560867607
0xd5c71d88...40C0Cb40d
2.48136213 ETH
79561132019-06-14 10:01:062067 days ago1560506466
0xd5c71d88...40C0Cb40d
2.44 ETH
79371592019-06-11 11:07:092070 days ago1560251229
0xd5c71d88...40C0Cb40d
3 ETH
79239192019-06-09 9:21:532072 days ago1560072113
0xd5c71d88...40C0Cb40d
2.2 ETH
79219242019-06-09 1:42:452072 days ago1560044565
0xd5c71d88...40C0Cb40d
4.20623084 ETH
78979612019-06-05 7:48:132076 days ago1559720893
0xd5c71d88...40C0Cb40d
3.36 ETH
78927172019-06-04 12:01:122077 days ago1559649672
0xd5c71d88...40C0Cb40d
5.08 ETH
78849592019-06-03 6:48:482078 days ago1559544528
0xd5c71d88...40C0Cb40d
1.00947215 ETH
70102872019-01-04 18:39:352227 days ago1546627175
0xd5c71d88...40C0Cb40d
4.12576855 ETH
69965902019-01-02 8:28:012230 days ago1546417681
0xd5c71d88...40C0Cb40d
8.37277877 ETH
69654462018-12-28 2:10:532235 days ago1545963053
0xd5c71d88...40C0Cb40d
2.17142428 ETH
69167582018-12-19 20:02:502243 days ago1545249770
0xd5c71d88...40C0Cb40d
5 ETH
66684062018-11-08 20:56:002284 days ago1541710560
0xd5c71d88...40C0Cb40d
8.2566 ETH
65419122018-10-19 3:46:552305 days ago1539920815
0xd5c71d88...40C0Cb40d
27.651 ETH
65198042018-10-15 13:08:502309 days ago1539608930
0xd5c71d88...40C0Cb40d
21.43733288 ETH
64766722018-10-08 12:56:242316 days ago1539003384
0xd5c71d88...40C0Cb40d
20.1 ETH
64109122018-09-27 20:02:332326 days ago1538078553
0xd5c71d88...40C0Cb40d
9.6 ETH
54580312018-04-17 17:43:582489 days ago1523987038
0xd5c71d88...40C0Cb40d
1.99 ETH
54209592018-04-11 11:13:222496 days ago1523445202
0xd5c71d88...40C0Cb40d
24.9402 ETH
54204632018-04-11 9:13:182496 days ago1523437998
0xd5c71d88...40C0Cb40d
27.25787693 ETH
54202912018-04-11 8:29:122496 days ago1523435352
0xd5c71d88...40C0Cb40d
19.8294 ETH
53366022018-03-28 10:41:392510 days ago1522233699
0xd5c71d88...40C0Cb40d
7.88900112 ETH
49577762018-01-23 11:10:342574 days ago1516705834  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.