ETH Price: $1,985.45 (-2.85%)
 

Overview

ETH Balance

0.034890941847786713 ETH

Eth Value

$69.27 (@ $1,985.45/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer78098162019-05-22 13:15:002477 days ago1558530900IN
0x2a9e7A5a...058D2BcfD
0.03489093 ETH0.000021051
Sweep77651332019-05-15 13:14:322484 days ago1557926072IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer77651142019-05-15 13:10:072484 days ago1557925807IN
0x2a9e7A5a...058D2BcfD
0.30047001 ETH0.000021051
Sweep77373352019-05-11 5:22:392488 days ago1557552159IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer77373212019-05-11 5:19:312488 days ago1557551971IN
0x2a9e7A5a...058D2BcfD
0.30005546 ETH0.000021051
Sweep77150372019-05-07 17:28:122492 days ago1557250092IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer77150202019-05-07 17:23:592492 days ago1557249839IN
0x2a9e7A5a...058D2BcfD
0.30000502 ETH0.000021051
Sweep76931892019-05-04 7:36:332495 days ago1556955393IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer76931752019-05-04 7:33:092495 days ago1556955189IN
0x2a9e7A5a...058D2BcfD
0.30024263 ETH0.000021051
Sweep76714592019-04-30 22:35:232498 days ago1556663723IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer76714422019-04-30 22:30:362498 days ago1556663436IN
0x2a9e7A5a...058D2BcfD
0.3001143 ETH0.000021051
Sweep76480602019-04-27 7:14:042502 days ago1556349244IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer76480452019-04-27 7:09:522502 days ago1556348992IN
0x2a9e7A5a...058D2BcfD
0.30007924 ETH0.000021051
Sweep76066622019-04-20 20:31:412508 days ago1555792301IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0024996550
Transfer76066412019-04-20 20:28:042508 days ago1555792084IN
0x2a9e7A5a...058D2BcfD
0.05975126 ETH0.000021051
Sweep75617772019-04-13 20:28:192515 days ago1555187299IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer75617592019-04-13 20:23:462515 days ago1555187026IN
0x2a9e7A5a...058D2BcfD
0.03762398 ETH0.000021051
Transfer75166792019-04-06 20:19:412522 days ago1554581981IN
0x2a9e7A5a...058D2BcfD
0.03741075 ETH0.000021051
Sweep74718042019-03-30 20:22:242529 days ago1553977344IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer74717832019-03-30 20:17:512529 days ago1553977071IN
0x2a9e7A5a...058D2BcfD
0.03692446 ETH0.000021051
Transfer74269822019-03-23 20:13:452536 days ago1553372025IN
0x2a9e7A5a...058D2BcfD
0.03693786 ETH0.000021051
Sweep73821742019-03-16 20:18:262543 days ago1552767506IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0024996550
Transfer73821542019-03-16 20:13:312543 days ago1552767211IN
0x2a9e7A5a...058D2BcfD
0.03541491 ETH0.000021051
Transfer73370462019-03-09 20:12:052550 days ago1552162325IN
0x2a9e7A5a...058D2BcfD
0.03664071 ETH0.000021051
Sweep72922102019-03-02 20:13:242557 days ago1551557604IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-77651332019-05-15 13:14:322484 days ago1557926072
0x2a9e7A5a...058D2BcfD
0.30047002 ETH
-77373352019-05-11 5:22:392488 days ago1557552159
0x2a9e7A5a...058D2BcfD
0.30005546 ETH
-77150372019-05-07 17:28:122492 days ago1557250092
0x2a9e7A5a...058D2BcfD
0.30000503 ETH
-76931892019-05-04 7:36:332495 days ago1556955393
0x2a9e7A5a...058D2BcfD
0.30024263 ETH
-76714592019-04-30 22:35:232498 days ago1556663723
0x2a9e7A5a...058D2BcfD
0.30011431 ETH
-76480602019-04-27 7:14:042502 days ago1556349244
0x2a9e7A5a...058D2BcfD
0.30007924 ETH
-76066622019-04-20 20:31:412508 days ago1555792301
0x2a9e7A5a...058D2BcfD
0.05975126 ETH
-75617772019-04-13 20:28:192515 days ago1555187299
0x2a9e7A5a...058D2BcfD
0.07503475 ETH
-74718042019-03-30 20:22:242529 days ago1553977344
0x2a9e7A5a...058D2BcfD
0.07386233 ETH
-73821742019-03-16 20:18:262543 days ago1552767506
0x2a9e7A5a...058D2BcfD
0.07205563 ETH
-72922102019-03-02 20:13:242557 days ago1551557604
0x2a9e7A5a...058D2BcfD
0.05839913 ETH
-72290302019-02-16 20:07:422571 days ago1550347662
0x2a9e7A5a...058D2BcfD
0.09824787 ETH
-71167902019-01-24 2:37:472595 days ago1548297467
0x2a9e7A5a...058D2BcfD
0.09866109 ETH
-70400802019-01-10 2:31:522609 days ago1547087512
0x2a9e7A5a...058D2BcfD
0.08285468 ETH
-69661872018-12-28 5:09:192622 days ago1545973759
0x2a9e7A5a...058D2BcfD
0.8249876 ETH
-69596032018-12-27 2:18:032623 days ago1545877083
0x2a9e7A5a...058D2BcfD
0.06635286 ETH
-69182562018-12-20 2:18:472630 days ago1545272327
0x2a9e7A5a...058D2BcfD
0.17601854 ETH
-68764392018-12-13 2:18:022637 days ago1544667482
0x2a9e7A5a...058D2BcfD
0.25421087 ETH
-68340372018-12-06 2:13:292644 days ago1544062409
0x2a9e7A5a...058D2BcfD
0.2341534 ETH
Transfer67916692018-11-29 2:14:312651 days ago1543457671
0x2a9e7A5a...058D2BcfD
0.30005097 ETH
Transfer67806922018-11-27 6:29:102653 days ago1543300150
0x2a9e7A5a...058D2BcfD
0.30135505 ETH
Transfer67668692018-11-25 0:06:372655 days ago1543104397
0x2a9e7A5a...058D2BcfD
0.30052939 ETH
Transfer67523252018-11-22 15:08:512658 days ago1542899331
0x2a9e7A5a...058D2BcfD
0.22110539 ETH
Transfer67096852018-11-15 15:06:392665 days ago1542294399
0x2a9e7A5a...058D2BcfD
0.29399316 ETH
Transfer66669262018-11-08 15:08:412672 days ago1541689721
0x2a9e7A5a...058D2BcfD
0.30096819 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.