ETH Price: $2,022.62 (+1.86%)

Contract

0x2a9e7A5a3eec5acB45a176cc97A58cA058D2BcfD
 

Overview

ETH Balance

0.034890941847786713 ETH

Eth Value

$70.57 (@ $2,022.62/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer78098162019-05-22 13:15:002502 days ago1558530900IN
0x2a9e7A5a...058D2BcfD
0.03489093 ETH0.000021051
Sweep77651332019-05-15 13:14:322509 days ago1557926072IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer77651142019-05-15 13:10:072509 days ago1557925807IN
0x2a9e7A5a...058D2BcfD
0.30047001 ETH0.000021051
Sweep77373352019-05-11 5:22:392513 days ago1557552159IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer77373212019-05-11 5:19:312513 days ago1557551971IN
0x2a9e7A5a...058D2BcfD
0.30005546 ETH0.000021051
Sweep77150372019-05-07 17:28:122516 days ago1557250092IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer77150202019-05-07 17:23:592516 days ago1557249839IN
0x2a9e7A5a...058D2BcfD
0.30000502 ETH0.000021051
Sweep76931892019-05-04 7:36:332520 days ago1556955393IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer76931752019-05-04 7:33:092520 days ago1556955189IN
0x2a9e7A5a...058D2BcfD
0.30024263 ETH0.000021051
Sweep76714592019-04-30 22:35:232523 days ago1556663723IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer76714422019-04-30 22:30:362523 days ago1556663436IN
0x2a9e7A5a...058D2BcfD
0.3001143 ETH0.000021051
Sweep76480602019-04-27 7:14:042527 days ago1556349244IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer76480452019-04-27 7:09:522527 days ago1556348992IN
0x2a9e7A5a...058D2BcfD
0.30007924 ETH0.000021051
Sweep76066622019-04-20 20:31:412533 days ago1555792301IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0024996550
Transfer76066412019-04-20 20:28:042533 days ago1555792084IN
0x2a9e7A5a...058D2BcfD
0.05975126 ETH0.000021051
Sweep75617772019-04-13 20:28:192540 days ago1555187299IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer75617592019-04-13 20:23:462540 days ago1555187026IN
0x2a9e7A5a...058D2BcfD
0.03762398 ETH0.000021051
Transfer75166792019-04-06 20:19:412547 days ago1554581981IN
0x2a9e7A5a...058D2BcfD
0.03741075 ETH0.000021051
Sweep74718042019-03-30 20:22:242554 days ago1553977344IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0025028550
Transfer74717832019-03-30 20:17:512554 days ago1553977071IN
0x2a9e7A5a...058D2BcfD
0.03692446 ETH0.000021051
Transfer74269822019-03-23 20:13:452561 days ago1553372025IN
0x2a9e7A5a...058D2BcfD
0.03693786 ETH0.000021051
Sweep73821742019-03-16 20:18:262568 days ago1552767506IN
0x2a9e7A5a...058D2BcfD
0 ETH0.0024996550
Transfer73821542019-03-16 20:13:312568 days ago1552767211IN
0x2a9e7A5a...058D2BcfD
0.03541491 ETH0.000021051
Transfer73370462019-03-09 20:12:052575 days ago1552162325IN
0x2a9e7A5a...058D2BcfD
0.03664071 ETH0.000021051
Sweep72922102019-03-02 20:13:242582 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:322509 days ago1557926072
0x2a9e7A5a...058D2BcfD
0.30047002 ETH
-77373352019-05-11 5:22:392513 days ago1557552159
0x2a9e7A5a...058D2BcfD
0.30005546 ETH
-77150372019-05-07 17:28:122516 days ago1557250092
0x2a9e7A5a...058D2BcfD
0.30000503 ETH
-76931892019-05-04 7:36:332520 days ago1556955393
0x2a9e7A5a...058D2BcfD
0.30024263 ETH
-76714592019-04-30 22:35:232523 days ago1556663723
0x2a9e7A5a...058D2BcfD
0.30011431 ETH
-76480602019-04-27 7:14:042527 days ago1556349244
0x2a9e7A5a...058D2BcfD
0.30007924 ETH
-76066622019-04-20 20:31:412533 days ago1555792301
0x2a9e7A5a...058D2BcfD
0.05975126 ETH
-75617772019-04-13 20:28:192540 days ago1555187299
0x2a9e7A5a...058D2BcfD
0.07503475 ETH
-74718042019-03-30 20:22:242554 days ago1553977344
0x2a9e7A5a...058D2BcfD
0.07386233 ETH
-73821742019-03-16 20:18:262568 days ago1552767506
0x2a9e7A5a...058D2BcfD
0.07205563 ETH
-72922102019-03-02 20:13:242582 days ago1551557604
0x2a9e7A5a...058D2BcfD
0.05839913 ETH
-72290302019-02-16 20:07:422596 days ago1550347662
0x2a9e7A5a...058D2BcfD
0.09824787 ETH
-71167902019-01-24 2:37:472620 days ago1548297467
0x2a9e7A5a...058D2BcfD
0.09866109 ETH
-70400802019-01-10 2:31:522634 days ago1547087512
0x2a9e7A5a...058D2BcfD
0.08285468 ETH
-69661872018-12-28 5:09:192647 days ago1545973759
0x2a9e7A5a...058D2BcfD
0.8249876 ETH
-69596032018-12-27 2:18:032648 days ago1545877083
0x2a9e7A5a...058D2BcfD
0.06635286 ETH
-69182562018-12-20 2:18:472655 days ago1545272327
0x2a9e7A5a...058D2BcfD
0.17601854 ETH
-68764392018-12-13 2:18:022662 days ago1544667482
0x2a9e7A5a...058D2BcfD
0.25421087 ETH
-68340372018-12-06 2:13:292669 days ago1544062409
0x2a9e7A5a...058D2BcfD
0.2341534 ETH
Transfer67916692018-11-29 2:14:312676 days ago1543457671
0x2a9e7A5a...058D2BcfD
0.30005097 ETH
Transfer67806922018-11-27 6:29:102678 days ago1543300150
0x2a9e7A5a...058D2BcfD
0.30135505 ETH
Transfer67668692018-11-25 0:06:372680 days ago1543104397
0x2a9e7A5a...058D2BcfD
0.30052939 ETH
Transfer67523252018-11-22 15:08:512683 days ago1542899331
0x2a9e7A5a...058D2BcfD
0.22110539 ETH
Transfer67096852018-11-15 15:06:392690 days ago1542294399
0x2a9e7A5a...058D2BcfD
0.29399316 ETH
Transfer66669262018-11-08 15:08:412697 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.