ETH Price: $1,960.30 (+1.45%)
 

Overview

ETH Balance

0.000000000552533297 ETH

Eth Value

Less Than $0.01 (@ $1,960.30/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep75232362019-04-07 20:42:052519 days ago1554669725IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer*75232182019-04-07 20:38:242519 days ago1554669504IN
0xaeA3D335...faFFc2C3e
5.09567849 ETH0.000084474
Sweep66181242018-10-31 14:49:252677 days ago1540997365IN
0xaeA3D335...faFFc2C3e
0 ETH0.0024996550
Transfer*66181002018-10-31 14:44:492677 days ago1540997089IN
0xaeA3D335...faFFc2C3e
1.98 ETH0.000337916
Sweep65866422018-10-26 11:05:332682 days ago1540551933IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer*65866402018-10-26 11:05:012682 days ago1540551901IN
0xaeA3D335...faFFc2C3e
1.84383118 ETH0.0003801418
Transfer*65866242018-10-26 11:01:172682 days ago1540551677IN
0xaeA3D335...faFFc2C3e
4 ETH0.0004223820
Sweep59049652018-07-04 16:02:152796 days ago1530720135IN
0xaeA3D335...faFFc2C3e
0 ETH0.0049993100
Transfer59049412018-07-04 15:57:182796 days ago1530719838IN
0xaeA3D335...faFFc2C3e
1.47 ETH0.0008630941
Sweep59040412018-07-04 12:15:082796 days ago1530706508IN
0xaeA3D335...faFFc2C3e
0 ETH0.0049993100
Transfer59040142018-07-04 12:08:082796 days ago1530706088IN
0xaeA3D335...faFFc2C3e
1.92 ETH0.0008630941
Sweep58996132018-07-03 17:59:232797 days ago1530640763IN
0xaeA3D335...faFFc2C3e
0 ETH0.0049993100
Transfer58992932018-07-03 16:43:212797 days ago1530636201IN
0xaeA3D335...faFFc2C3e
1.6 ETH0.0008630941
Sweep58992862018-07-03 16:42:022797 days ago1530636122IN
0xaeA3D335...faFFc2C3e
0 ETH0.0149979300
Transfer58988622018-07-03 14:51:362797 days ago1530629496IN
0xaeA3D335...faFFc2C3e
0.42 ETH0.0008630941
Sweep56085272018-05-13 21:04:222848 days ago1526245462IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer56085002018-05-13 20:56:022848 days ago1526244962IN
0xaeA3D335...faFFc2C3e
0.72906331 ETH0.0008630941
Sweep56068662018-05-13 14:02:372848 days ago1526220157IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer56068262018-05-13 13:52:492848 days ago1526219569IN
0xaeA3D335...faFFc2C3e
0.4434343 ETH0.0008630941
Sweep56067382018-05-13 13:32:092848 days ago1526218329IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer56067112018-05-13 13:25:312848 days ago1526217931IN
0xaeA3D335...faFFc2C3e
0.22198131 ETH0.0008630941
Sweep55124992018-04-27 2:41:372864 days ago1524796897IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer55124782018-04-27 2:35:582864 days ago1524796558IN
0xaeA3D335...faFFc2C3e
0.3212386 ETH0.0008630941
Sweep54751832018-04-20 16:47:232871 days ago1524242843IN
0xaeA3D335...faFFc2C3e
0 ETH0.0025028550
Transfer54751582018-04-20 16:42:282871 days ago1524242548IN
0xaeA3D335...faFFc2C3e
0.48971343 ETH0.0006315330
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-75232362019-04-07 20:42:052519 days ago1554669725
0xaeA3D335...faFFc2C3e
5.0956785 ETH
Transfer66181242018-10-31 14:49:252677 days ago1540997365
0xaeA3D335...faFFc2C3e
1.98 ETH
Transfer65866422018-10-26 11:05:332682 days ago1540551933
0xaeA3D335...faFFc2C3e
5.84383119 ETH
Transfer59049652018-07-04 16:02:152796 days ago1530720135
0xaeA3D335...faFFc2C3e
1.47 ETH
Transfer59040412018-07-04 12:15:082796 days ago1530706508
0xaeA3D335...faFFc2C3e
1.92 ETH
Transfer58996132018-07-03 17:59:232797 days ago1530640763
0xaeA3D335...faFFc2C3e
1.6 ETH
Transfer58992862018-07-03 16:42:022797 days ago1530636122
0xaeA3D335...faFFc2C3e
0.42 ETH
Transfer56085272018-05-13 21:04:222848 days ago1526245462
0xaeA3D335...faFFc2C3e
0.72906331 ETH
Transfer56068662018-05-13 14:02:372848 days ago1526220157
0xaeA3D335...faFFc2C3e
0.44343431 ETH
Transfer56067382018-05-13 13:32:092848 days ago1526218329
0xaeA3D335...faFFc2C3e
0.22198132 ETH
Transfer55124992018-04-27 2:41:372864 days ago1524796897
0xaeA3D335...faFFc2C3e
0.3212386 ETH
Transfer54751832018-04-20 16:47:232871 days ago1524242843
0xaeA3D335...faFFc2C3e
0.48971344 ETH
Transfer51947322018-03-04 11:46:332918 days ago1520163993
0xaeA3D335...faFFc2C3e
0.32 ETH
Transfer51827232018-03-02 11:13:432920 days ago1519989223
0xaeA3D335...faFFc2C3e
0.42 ETH
Transfer45367542017-11-12 5:11:133030 days ago1510463473
0xaeA3D335...faFFc2C3e
0.15848498 ETH
Transfer44638272017-10-31 11:48:183042 days ago1509450498  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code (Solidity)

/**
 *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

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

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.