ETH Price: $2,030.08 (-2.18%)
Gas: 0.05 Gwei
 

Overview

ETH Balance

0.000000000336772637 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep87724502019-10-19 17:01:062322 days ago1571504466IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer87724332019-10-19 16:57:022322 days ago1571504222IN
0xc54A2916...00A8bf7CA
0.15098079 ETH0.0003157615
Sweep87319362019-10-13 7:55:122328 days ago1570953312IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer87319212019-10-13 7:51:562328 days ago1570953116IN
0xc54A2916...00A8bf7CA
0.2500963 ETH0.0003157615
Sweep86594512019-10-01 23:33:102339 days ago1569972790IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer86594312019-10-01 23:29:012339 days ago1569972541IN
0xc54A2916...00A8bf7CA
0.25020343 ETH0.0003157615
Sweep85934982019-09-21 15:48:302350 days ago1569080910IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer85934812019-09-21 15:45:022350 days ago1569080702IN
0xc54A2916...00A8bf7CA
0.25028865 ETH0.0006315330
Sweep85269812019-09-11 6:43:412360 days ago1568184221IN
0xc54A2916...00A8bf7CA
0 ETH0.001351627.00135
Transfer85269652019-09-11 6:38:582360 days ago1568183938IN
0xc54A2916...00A8bf7CA
0.25006771 ETH0.0002105110
Sweep84610592019-09-01 0:03:002370 days ago1567296180IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer84610402019-08-31 23:58:112370 days ago1567295891IN
0xc54A2916...00A8bf7CA
0.25012185 ETH0.0002105110
Sweep83990912019-08-22 8:39:472380 days ago1566463187IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer83990762019-08-22 8:35:402380 days ago1566462940IN
0xc54A2916...00A8bf7CA
0.25019297 ETH0.0002105110
Sweep83349192019-08-12 9:26:352390 days ago1565601995IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer83348972019-08-12 9:23:002390 days ago1565601780IN
0xc54A2916...00A8bf7CA
0.25031808 ETH0.0002105110
Sweep82704132019-08-02 9:19:302400 days ago1564737570IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer82703932019-08-02 9:15:232400 days ago1564737323IN
0xc54A2916...00A8bf7CA
0.25006883 ETH0.0002105110
Sweep82048152019-07-23 4:32:012410 days ago1563856321IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer82048012019-07-23 4:29:582410 days ago1563856198IN
0xc54A2916...00A8bf7CA
0.18525654 ETH0.0002105110
Sweep81596912019-07-16 4:01:012417 days ago1563249661IN
0xc54A2916...00A8bf7CA
0 ETH0.0015017130
Transfer81596782019-07-16 3:57:392417 days ago1563249459IN
0xc54A2916...00A8bf7CA
0.18516722 ETH0.0002105110
Sweep81140702019-07-09 1:21:272424 days ago1562635287IN
0xc54A2916...00A8bf7CA
0 ETH0.0011012522
Transfer81140562019-07-09 1:17:282424 days ago1562635048IN
0xc54A2916...00A8bf7CA
0.18506719 ETH0.0002105110
Sweep80665682019-07-01 15:59:212432 days ago1561996761IN
0xc54A2916...00A8bf7CA
0 ETH0.0015017130
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-87724502019-10-19 17:01:062322 days ago1571504466
0xc54A2916...00A8bf7CA
0.1509808 ETH
-87319362019-10-13 7:55:122328 days ago1570953312
0xc54A2916...00A8bf7CA
0.25009631 ETH
-86594512019-10-01 23:33:102339 days ago1569972790
0xc54A2916...00A8bf7CA
0.25020344 ETH
-85934982019-09-21 15:48:302350 days ago1569080910
0xc54A2916...00A8bf7CA
0.25028865 ETH
-85269812019-09-11 6:43:412360 days ago1568184221
0xc54A2916...00A8bf7CA
0.25006772 ETH
-84610592019-09-01 0:03:002370 days ago1567296180
0xc54A2916...00A8bf7CA
0.25012185 ETH
-83990912019-08-22 8:39:472380 days ago1566463187
0xc54A2916...00A8bf7CA
0.25019297 ETH
-83349192019-08-12 9:26:352390 days ago1565601995
0xc54A2916...00A8bf7CA
0.25031809 ETH
-82704132019-08-02 9:19:302400 days ago1564737570
0xc54A2916...00A8bf7CA
0.25006883 ETH
-82048152019-07-23 4:32:012410 days ago1563856321
0xc54A2916...00A8bf7CA
0.18525654 ETH
-81596912019-07-16 4:01:012417 days ago1563249661
0xc54A2916...00A8bf7CA
0.18516722 ETH
-81140702019-07-09 1:21:272424 days ago1562635287
0xc54A2916...00A8bf7CA
0.1850672 ETH
-80665682019-07-01 15:59:212432 days ago1561996761
0xc54A2916...00A8bf7CA
0.19001475 ETH
-80178752019-06-24 1:47:552439 days ago1561340875
0xc54A2916...00A8bf7CA
0.25030136 ETH
-79624052019-06-15 9:48:542448 days ago1560592134
0xc54A2916...00A8bf7CA
0.25006898 ETH
-79049082019-06-06 9:43:482457 days ago1559814228
0xc54A2916...00A8bf7CA
0.25004666 ETH
-78443752019-05-27 22:27:262466 days ago1558996046
0xc54A2916...00A8bf7CA
0.15805019 ETH
-78082382019-05-22 7:15:212472 days ago1558509321
0xc54A2916...00A8bf7CA
0.25030037 ETH
-77491732019-05-13 1:38:222481 days ago1557711502
0xc54A2916...00A8bf7CA
0.25025285 ETH
-76950232019-05-04 14:20:042490 days ago1556979604
0xc54A2916...00A8bf7CA
0.20970511 ETH
-76514322019-04-27 19:34:102497 days ago1556393650
0xc54A2916...00A8bf7CA
0.25008934 ETH
-76019872019-04-20 2:48:432504 days ago1555728523
0xc54A2916...00A8bf7CA
0.25021391 ETH
-75526272019-04-12 10:38:312512 days ago1555065511
0xc54A2916...00A8bf7CA
0.25027718 ETH
-75040132019-04-04 21:11:362519 days ago1554412296
0xc54A2916...00A8bf7CA
0.25013768 ETH
-74553312019-03-28 6:12:042527 days ago1553753524
0xc54A2916...00A8bf7CA
0.25014343 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.