ETH Price: $1,953.66 (+1.37%)
 

Overview

ETH Balance

0.000000008 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep51412532018-02-23 9:35:582930 days ago1519378558IN
0xA5a894C3...a682Ee44B
0 ETH0.0025028550
Transfer51411972018-02-23 9:22:202930 days ago1519377740IN
0xA5a894C3...a682Ee44B
1.40089307 ETH0.000021051
Sweep51410202018-02-23 8:35:292930 days ago1519374929IN
0xA5a894C3...a682Ee44B
0 ETH0.0025028550
Transfer51409642018-02-23 8:22:332930 days ago1519374153IN
0xA5a894C3...a682Ee44B
1.12005595 ETH0.0008630941
Sweep51408552018-02-23 7:56:252930 days ago1519372585IN
0xA5a894C3...a682Ee44B
0 ETH0.0024996550
Transfer51408242018-02-23 7:48:302930 days ago1519372110IN
0xA5a894C3...a682Ee44B
0.2 ETH0.0008630941
Sweep50902392018-02-14 18:38:342938 days ago1518633514IN
0xA5a894C3...a682Ee44B
0 ETH0.0044993790
Transfer50901972018-02-14 18:25:422938 days ago1518632742IN
0xA5a894C3...a682Ee44B
2 ETH0.000021051
Sweep50719672018-02-11 16:40:102941 days ago1518367210IN
0xA5a894C3...a682Ee44B
0 ETH0.0044993790
Transfer50719332018-02-11 16:34:392941 days ago1518366879IN
0xA5a894C3...a682Ee44B
1.4 ETH0.000021051
Sweep48761642018-01-08 20:01:472975 days ago1515441707IN
0xA5a894C3...a682Ee44B
0 ETH0.0045051390
Transfer48761312018-01-08 19:52:112975 days ago1515441131IN
0xA5a894C3...a682Ee44B
1.05571292 ETH0.0006315330
Sweep48759722018-01-08 19:14:012975 days ago1515438841IN
0xA5a894C3...a682Ee44B
0 ETH0.0037494775
Transfer48759382018-01-08 19:05:222975 days ago1515438322IN
0xA5a894C3...a682Ee44B
1.4 ETH0.0006315330
Sweep48758412018-01-08 18:39:372975 days ago1515436777IN
0xA5a894C3...a682Ee44B
0 ETH0.0025496451
Transfer48758072018-01-08 18:31:502975 days ago1515436310IN
0xA5a894C3...a682Ee44B
0.1 ETH0.0006315330
Sweep47719332017-12-21 16:00:082993 days ago1513872008IN
0xA5a894C3...a682Ee44B
0 ETH0.002799656
Transfer47715012017-12-21 14:07:322993 days ago1513865252IN
0xA5a894C3...a682Ee44B
0.1 ETH0.0006315330
Sweep47592332017-12-19 9:25:142996 days ago1513675514IN
0xA5a894C3...a682Ee44B
0 ETH0.0025496451
Transfer47591872017-12-19 9:13:152996 days ago1513674795IN
0xA5a894C3...a682Ee44B
1 ETH0.0006315330
Sweep47498782017-12-17 18:23:472997 days ago1513535027IN
0xA5a894C3...a682Ee44B
0 ETH0.0025496451
Transfer47498282017-12-17 18:11:412997 days ago1513534301IN
0xA5a894C3...a682Ee44B
0.7 ETH0.0006315330
Sweep47492112017-12-17 15:43:042997 days ago1513525384IN
0xA5a894C3...a682Ee44B
0 ETH0.0025496451
Transfer47491692017-12-17 15:33:122997 days ago1513524792IN
0xA5a894C3...a682Ee44B
1 ETH0.0006315330
Sweep47490852017-12-17 15:09:402997 days ago1513523380IN
0xA5a894C3...a682Ee44B
0 ETH0.0025496451
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer51412532018-02-23 9:35:582930 days ago1519378558
0xA5a894C3...a682Ee44B
1.40089307 ETH
Transfer51410202018-02-23 8:35:292930 days ago1519374929
0xA5a894C3...a682Ee44B
1.12005595 ETH
Transfer51408552018-02-23 7:56:252930 days ago1519372585
0xA5a894C3...a682Ee44B
0.2 ETH
Transfer50902392018-02-14 18:38:342938 days ago1518633514
0xA5a894C3...a682Ee44B
2 ETH
Transfer50719672018-02-11 16:40:102941 days ago1518367210
0xA5a894C3...a682Ee44B
1.4 ETH
Transfer48761642018-01-08 20:01:472975 days ago1515441707
0xA5a894C3...a682Ee44B
1.05571292 ETH
Transfer48759722018-01-08 19:14:012975 days ago1515438841
0xA5a894C3...a682Ee44B
1.4 ETH
Transfer48758412018-01-08 18:39:372975 days ago1515436777
0xA5a894C3...a682Ee44B
0.1 ETH
Transfer47719332017-12-21 16:00:082993 days ago1513872008
0xA5a894C3...a682Ee44B
0.1 ETH
Transfer47592332017-12-19 9:25:142996 days ago1513675514
0xA5a894C3...a682Ee44B
1 ETH
Transfer47498782017-12-17 18:23:472997 days ago1513535027
0xA5a894C3...a682Ee44B
0.7 ETH
Transfer47492112017-12-17 15:43:042997 days ago1513525384
0xA5a894C3...a682Ee44B
1 ETH
Transfer47490852017-12-17 15:09:402997 days ago1513523380
0xA5a894C3...a682Ee44B
0.1 ETH
Transfer47272202017-12-13 19:50:483001 days ago1513194648
0xA5a894C3...a682Ee44B
2.8 ETH
Transfer42054842017-08-26 9:53:393111 days ago1503741219
0xA5a894C3...a682Ee44B
5.39159891 ETH
Transfer42053912017-08-26 9:18:203111 days ago1503739100
0xA5a894C3...a682Ee44B
0.995 ETH
Transfer42041692017-08-26 1:01:303111 days ago1503709290  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.