ETH Price: $1,995.58 (+2.79%)
 

Overview

ETH Balance

0.000000000618100052 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep57064652018-05-31 4:58:412833 days ago1527742721IN
0xAA1f494b...9EC4CC20E
0 ETH0.0024996550
Transfer57064472018-05-31 4:53:502833 days ago1527742430IN
0xAA1f494b...9EC4CC20E
0.05224367 ETH0.000021051
Sweep56669762018-05-24 5:01:012840 days ago1527138061IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer56669392018-05-24 4:50:592840 days ago1527137459IN
0xAA1f494b...9EC4CC20E
0.08402023 ETH0.000021051
Sweep56274232018-05-17 4:52:382847 days ago1526532758IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer56273922018-05-17 4:45:162847 days ago1526532316IN
0xAA1f494b...9EC4CC20E
0.0832211 ETH0.000021051
Sweep55875032018-05-10 4:53:542854 days ago1525928034IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer55874402018-05-10 4:38:592854 days ago1525927139IN
0xAA1f494b...9EC4CC20E
0.08558742 ETH0.000021051
Sweep55473242018-05-03 4:49:462861 days ago1525322986IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer55472842018-05-03 4:38:182861 days ago1525322298IN
0xAA1f494b...9EC4CC20E
0.08703716 ETH0.000021051
Sweep55071442018-04-26 4:35:202868 days ago1524717320IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer55071182018-04-26 4:30:012868 days ago1524717001IN
0xAA1f494b...9EC4CC20E
0.08956404 ETH0.000021051
Sweep54665242018-04-19 4:34:452875 days ago1524112485IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer54664912018-04-19 4:27:552875 days ago1524112075IN
0xAA1f494b...9EC4CC20E
0.08928517 ETH0.000021051
Sweep54253152018-04-12 4:36:162882 days ago1523507776IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer54252602018-04-12 4:23:512882 days ago1523507031IN
0xAA1f494b...9EC4CC20E
0.08871896 ETH0.000021051
Sweep53830622018-04-05 4:28:012889 days ago1522902481IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer53830182018-04-05 4:18:012889 days ago1522901881IN
0xAA1f494b...9EC4CC20E
0.08613658 ETH0.000021051
Sweep53409722018-03-29 4:22:312896 days ago1522297351IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer53409442018-03-29 4:15:032896 days ago1522296903IN
0xAA1f494b...9EC4CC20E
0.08519921 ETH0.000021051
Sweep52990942018-03-22 4:20:512903 days ago1521692451IN
0xAA1f494b...9EC4CC20E
0 ETH0.0025028550
Transfer52990632018-03-22 4:11:472903 days ago1521691907IN
0xAA1f494b...9EC4CC20E
0.08592046 ETH0.000021051
Transfer52575692018-03-15 4:03:382910 days ago1521086618IN
0xAA1f494b...9EC4CC20E
0.0100282 ETH0.000021051
Transfer50349692018-02-05 11:37:242947 days ago1517830644IN
0xAA1f494b...9EC4CC20E
0.01685962 ETH0.000021051
Sweep49936392018-01-29 11:34:342954 days ago1517225674IN
0xAA1f494b...9EC4CC20E
0 ETH0.0045051390
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer57064652018-05-31 4:58:412833 days ago1527742721
0xAA1f494b...9EC4CC20E
0.05224368 ETH
Transfer56669762018-05-24 5:01:012840 days ago1527138061
0xAA1f494b...9EC4CC20E
0.08402024 ETH
Transfer56274232018-05-17 4:52:382847 days ago1526532758
0xAA1f494b...9EC4CC20E
0.0832211 ETH
Transfer55875032018-05-10 4:53:542854 days ago1525928034
0xAA1f494b...9EC4CC20E
0.08558743 ETH
Transfer55473242018-05-03 4:49:462861 days ago1525322986
0xAA1f494b...9EC4CC20E
0.08703716 ETH
Transfer55071442018-04-26 4:35:202868 days ago1524717320
0xAA1f494b...9EC4CC20E
0.08956405 ETH
Transfer54665242018-04-19 4:34:452875 days ago1524112485
0xAA1f494b...9EC4CC20E
0.08928518 ETH
Transfer54253152018-04-12 4:36:162882 days ago1523507776
0xAA1f494b...9EC4CC20E
0.08871896 ETH
Transfer53830622018-04-05 4:28:012889 days ago1522902481
0xAA1f494b...9EC4CC20E
0.08613659 ETH
Transfer53409722018-03-29 4:22:312896 days ago1522297351
0xAA1f494b...9EC4CC20E
0.08519922 ETH
Transfer52990942018-03-22 4:20:512903 days ago1521692451
0xAA1f494b...9EC4CC20E
0.11280829 ETH
Transfer49936392018-01-29 11:34:342954 days ago1517225674
0xAA1f494b...9EC4CC20E
0.11404612 ETH
Transfer49520052018-01-22 11:33:202961 days ago1516620800
0xAA1f494b...9EC4CC20E
0.12764347 ETH
Transfer49123012018-01-15 11:25:592968 days ago1516015559
0xAA1f494b...9EC4CC20E
0.14635367 ETH
Transfer48742562018-01-08 11:29:562975 days ago1515410996
0xAA1f494b...9EC4CC20E
0.15347997 ETH
Transfer48355332018-01-01 11:15:532982 days ago1514805353
0xAA1f494b...9EC4CC20E
0.15073716 ETH
Transfer47941632017-12-25 11:14:032989 days ago1514200443
0xAA1f494b...9EC4CC20E
0.16177613 ETH
Transfer47540572017-12-18 11:14:372996 days ago1513595677
0xAA1f494b...9EC4CC20E
0.16796331 ETH
Transfer47136222017-12-11 10:41:563003 days ago1512988916
0xAA1f494b...9EC4CC20E
0.30443114 ETH
Transfer42166312017-08-29 14:28:093107 days ago1504016889
0xAA1f494b...9EC4CC20E
0.99938255 ETH
Transfer42160492017-08-29 10:34:293107 days ago1504002869  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.