ETH Price: $3,243.11 (-2.77%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep105568042020-07-29 20:53:561647 days ago1596056036IN
0x9c4D30B1...dD410DBc9
0 ETH0.0038408564.35
Sweep54643352018-04-18 19:47:412480 days ago1524080861IN
0x9c4D30B1...dD410DBc9
0 ETH0.0024996550
Transfer54643042018-04-18 19:37:182480 days ago1524080238IN
0x9c4D30B1...dD410DBc9
0.8 ETH0.0020840499
Sweep54630812018-04-18 14:36:042480 days ago1524062164IN
0x9c4D30B1...dD410DBc9
0 ETH0.0025028550
Transfer54630512018-04-18 14:28:032480 days ago1524061683IN
0x9c4D30B1...dD410DBc9
1.67736447 ETH0.0010525550
Sweep54628022018-04-18 13:23:562480 days ago1524057836IN
0x9c4D30B1...dD410DBc9
0 ETH0.0025028550
Transfer54627692018-04-18 13:17:292480 days ago1524057449IN
0x9c4D30B1...dD410DBc9
0.16643842 ETH0.0010525550
Sweep54326522018-04-13 10:28:252486 days ago1523615305IN
0x9c4D30B1...dD410DBc9
0 ETH0.0024996550
Transfer54326182018-04-13 10:21:542486 days ago1523614914IN
0x9c4D30B1...dD410DBc9
2 ETH0.0020840499
Sweep50848572018-02-13 20:43:572544 days ago1518554637IN
0x9c4D30B1...dD410DBc9
0 ETH0.0044993790
Transfer50848222018-02-13 20:33:212544 days ago1518554001IN
0x9c4D30B1...dD410DBc9
1 ETH0.0006946833
Sweep50734102018-02-11 22:37:252546 days ago1518388645IN
0x9c4D30B1...dD410DBc9
0 ETH0.0044993790
Transfer50733782018-02-11 22:30:202546 days ago1518388220IN
0x9c4D30B1...dD410DBc9
0.48 ETH0.0006315330
Sweep50497782018-02-07 23:38:572550 days ago1518046737IN
0x9c4D30B1...dD410DBc9
0 ETH0.0044993790
Transfer50497482018-02-07 23:28:292550 days ago1518046109IN
0x9c4D30B1...dD410DBc9
0.5 ETH0.0013893666
Sweep50468992018-02-07 11:55:302550 days ago1518004530IN
0x9c4D30B1...dD410DBc9
0 ETH0.0045051390
Transfer50468662018-02-07 11:48:062550 days ago1518004086IN
0x9c4D30B1...dD410DBc9
0.44949198 ETH0.0018945990
Sweep50107852018-02-01 9:32:572557 days ago1517477577IN
0x9c4D30B1...dD410DBc9
0 ETH0.0044993790
Transfer50107602018-02-01 9:28:222557 days ago1517477302IN
0x9c4D30B1...dD410DBc9
0.4 ETH0.0020840499
Sweep49979512018-01-30 5:08:552559 days ago1517288935IN
0x9c4D30B1...dD410DBc9
0 ETH0.0045051390
Transfer49979122018-01-30 4:57:012559 days ago1517288221IN
0x9c4D30B1...dD410DBc9
0.06 ETH0.0004210220
Transfer49979122018-01-30 4:57:012559 days ago1517288221IN
0x9c4D30B1...dD410DBc9
0.45132403 ETH0.0004820622.9
Sweep49903882018-01-28 22:32:382560 days ago1517178758IN
0x9c4D30B1...dD410DBc9
0 ETH0.0044993790
Transfer49903582018-01-28 22:23:292560 days ago1517178209IN
0x9c4D30B1...dD410DBc9
1 ETH0.0004420721
Sweep46341452017-11-27 22:23:462622 days ago1511821426IN
0x9c4D30B1...dD410DBc9
0 ETH0.0010011420
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
54643352018-04-18 19:47:412480 days ago1524080861
0x9c4D30B1...dD410DBc9
0.8 ETH
54630812018-04-18 14:36:042480 days ago1524062164
0x9c4D30B1...dD410DBc9
1.67736447 ETH
54628022018-04-18 13:23:562480 days ago1524057836
0x9c4D30B1...dD410DBc9
0.16643842 ETH
54326522018-04-13 10:28:252486 days ago1523615305
0x9c4D30B1...dD410DBc9
2 ETH
50848572018-02-13 20:43:572544 days ago1518554637
0x9c4D30B1...dD410DBc9
1 ETH
50734102018-02-11 22:37:252546 days ago1518388645
0x9c4D30B1...dD410DBc9
0.48 ETH
50497782018-02-07 23:38:572550 days ago1518046737
0x9c4D30B1...dD410DBc9
0.5 ETH
50468992018-02-07 11:55:302550 days ago1518004530
0x9c4D30B1...dD410DBc9
0.44949198 ETH
50107852018-02-01 9:32:572557 days ago1517477577
0x9c4D30B1...dD410DBc9
0.4 ETH
49979512018-01-30 5:08:552559 days ago1517288935
0x9c4D30B1...dD410DBc9
0.51132403 ETH
49903882018-01-28 22:32:382560 days ago1517178758
0x9c4D30B1...dD410DBc9
1 ETH
46341452017-11-27 22:23:462622 days ago1511821426
0x9c4D30B1...dD410DBc9
0.2295277 ETH
46094392017-11-23 22:16:502626 days ago1511475410  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.