ETH Price: $2,106.20 (+1.67%)
 

Overview

ETH Balance

0.000000009251046447 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep89852762019-11-23 8:01:372320 days ago1574496097IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer89852572019-11-23 7:56:162320 days ago1574495776IN
0xAB30e36d...f87b4d4A3
0.09394208 ETH0.000021051
Sweep89432742019-11-16 7:57:342327 days ago1573891054IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer89432582019-11-16 7:54:012327 days ago1573890841IN
0xAB30e36d...f87b4d4A3
0.11003047 ETH0.000021051
Sweep89169942019-11-11 22:46:082332 days ago1573512368IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer89169822019-11-11 22:43:282332 days ago1573512208IN
0xAB30e36d...f87b4d4A3
0.1100416 ETH0.000021051
Sweep88917302019-11-07 19:03:132336 days ago1573153393IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer88917142019-11-07 19:00:012336 days ago1573153201IN
0xAB30e36d...f87b4d4A3
0.11002211 ETH0.000021051
Sweep88663822019-11-03 17:22:082340 days ago1572801728IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer88663612019-11-03 17:18:162340 days ago1572801496IN
0xAB30e36d...f87b4d4A3
0.11002531 ETH0.000021051
Sweep88370902019-10-30 0:17:152345 days ago1572394635IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer88370652019-10-30 0:13:082345 days ago1572394388IN
0xAB30e36d...f87b4d4A3
0.11003321 ETH0.000021051
Sweep88055462019-10-24 22:15:092350 days ago1571955309IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer88055182019-10-24 22:10:492350 days ago1571955049IN
0xAB30e36d...f87b4d4A3
0.11008207 ETH0.000021051
Sweep87789042019-10-20 17:19:492354 days ago1571591989IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer87788922019-10-20 17:15:062354 days ago1571591706IN
0xAB30e36d...f87b4d4A3
0.11003599 ETH0.000021051
Sweep87526252019-10-16 14:07:262358 days ago1571234846IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer87526092019-10-16 14:03:232358 days ago1571234603IN
0xAB30e36d...f87b4d4A3
0.1100698 ETH0.000021051
Sweep87264872019-10-12 11:32:062362 days ago1570879926IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer87264682019-10-12 11:28:232362 days ago1570879703IN
0xAB30e36d...f87b4d4A3
0.11009607 ETH0.000021051
Sweep87006372019-10-08 9:54:092366 days ago1570528449IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer87006202019-10-08 9:49:422366 days ago1570528182IN
0xAB30e36d...f87b4d4A3
0.11004587 ETH0.000021051
Sweep86737422019-10-04 5:21:252370 days ago1570166485IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
Transfer86737282019-10-04 5:17:312370 days ago1570166251IN
0xAB30e36d...f87b4d4A3
0.11006128 ETH0.000021051
Sweep86396312019-09-28 21:13:232376 days ago1569705203IN
0xAB30e36d...f87b4d4A3
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-89852762019-11-23 8:01:372320 days ago1574496097
0xAB30e36d...f87b4d4A3
0.09394208 ETH
-89432742019-11-16 7:57:342327 days ago1573891054
0xAB30e36d...f87b4d4A3
0.11003047 ETH
-89169942019-11-11 22:46:082332 days ago1573512368
0xAB30e36d...f87b4d4A3
0.11004161 ETH
-88917302019-11-07 19:03:132336 days ago1573153393
0xAB30e36d...f87b4d4A3
0.11002211 ETH
-88663822019-11-03 17:22:082340 days ago1572801728
0xAB30e36d...f87b4d4A3
0.11002531 ETH
-88370902019-10-30 0:17:152345 days ago1572394635
0xAB30e36d...f87b4d4A3
0.11003322 ETH
-88055462019-10-24 22:15:092350 days ago1571955309
0xAB30e36d...f87b4d4A3
0.11008207 ETH
-87789042019-10-20 17:19:492354 days ago1571591989
0xAB30e36d...f87b4d4A3
0.110036 ETH
-87526252019-10-16 14:07:262358 days ago1571234846
0xAB30e36d...f87b4d4A3
0.11006981 ETH
-87264872019-10-12 11:32:062362 days ago1570879926
0xAB30e36d...f87b4d4A3
0.11009607 ETH
-87006372019-10-08 9:54:092366 days ago1570528449
0xAB30e36d...f87b4d4A3
0.11004588 ETH
-86737422019-10-04 5:21:252370 days ago1570166485
0xAB30e36d...f87b4d4A3
0.11006128 ETH
-86396312019-09-28 21:13:232376 days ago1569705203
0xAB30e36d...f87b4d4A3
0.11004046 ETH
-86003552019-09-22 17:27:462382 days ago1569173266
0xAB30e36d...f87b4d4A3
0.11003596 ETH
-85750312019-09-18 18:25:212386 days ago1568831121
0xAB30e36d...f87b4d4A3
0.12293941 ETH
-84999812019-09-07 1:42:132397 days ago1567820533
0xAB30e36d...f87b4d4A3
0.11015392 ETH
-84755872019-09-03 6:25:362401 days ago1567491936
0xAB30e36d...f87b4d4A3
0.11008077 ETH
-84504662019-08-30 8:24:352405 days ago1567153475
0xAB30e36d...f87b4d4A3
0.11004057 ETH
-84248202019-08-26 8:42:092409 days ago1566808929
0xAB30e36d...f87b4d4A3
0.11006982 ETH
-83956512019-08-21 19:51:402414 days ago1566417100
0xAB30e36d...f87b4d4A3
0.11009554 ETH
-83708432019-08-17 23:07:232418 days ago1566083243
0xAB30e36d...f87b4d4A3
0.11014468 ETH
-83376632019-08-12 19:37:342423 days ago1565638654
0xAB30e36d...f87b4d4A3
0.11009309 ETH
-83058482019-08-07 21:03:012428 days ago1565211781
0xAB30e36d...f87b4d4A3
0.11000464 ETH
-82804212019-08-03 22:32:102432 days ago1564871530
0xAB30e36d...f87b4d4A3
0.11004339 ETH
-82559552019-07-31 3:08:462435 days ago1564542526
0xAB30e36d...f87b4d4A3
0.11003793 ETH
View All Internal Transactions
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.