ETH Price: $2,077.75 (+3.02%)

Contract

0x24F9Ad43e24eBE50BaBe333B3a8d35d4a9e153cd
 

Overview

ETH Balance

0.000000005723207039 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep81614142019-07-16 10:38:232429 days ago1563273503IN
0x24F9Ad43...4a9e153cd
0 ETH0.0014997930
Transfer81614022019-07-16 10:36:002429 days ago1563273360IN
0x24F9Ad43...4a9e153cd
0.05006203 ETH0.000021051
Sweep81391932019-07-12 23:24:462432 days ago1562973886IN
0x24F9Ad43...4a9e153cd
0 ETH0.0010998422
Transfer81391782019-07-12 23:21:212432 days ago1562973681IN
0x24F9Ad43...4a9e153cd
0.05004317 ETH0.000021051
Sweep81255022019-07-10 20:04:592434 days ago1562789099IN
0x24F9Ad43...4a9e153cd
0 ETH0.0010998422
Transfer81254802019-07-10 19:59:522434 days ago1562788792IN
0x24F9Ad43...4a9e153cd
0.05009505 ETH0.000021051
Transfer81114962019-07-08 15:51:302437 days ago1562601090IN
0x24F9Ad43...4a9e153cd
0.01262306 ETH0.000021051
Sweep80665292019-07-01 15:52:042444 days ago1561996324IN
0x24F9Ad43...4a9e153cd
0 ETH0.0014997930
Transfer80665132019-07-01 15:47:432444 days ago1561996063IN
0x24F9Ad43...4a9e153cd
0.05000586 ETH0.000021051
Sweep80526352019-06-29 11:57:492446 days ago1561809469IN
0x24F9Ad43...4a9e153cd
0 ETH0.0010998422
Transfer80526172019-06-29 11:53:492446 days ago1561809229IN
0x24F9Ad43...4a9e153cd
0.05001452 ETH0.000021051
Sweep80391792019-06-27 9:30:112448 days ago1561627811IN
0x24F9Ad43...4a9e153cd
0 ETH0.0018972337.95000115
Transfer80391612019-06-27 9:26:082448 days ago1561627568IN
0x24F9Ad43...4a9e153cd
0.05004678 ETH0.000021051
Sweep80261422019-06-25 8:50:002450 days ago1561452600IN
0x24F9Ad43...4a9e153cd
0 ETH0.0014997930
Transfer80261132019-06-25 8:43:362450 days ago1561452216IN
0x24F9Ad43...4a9e153cd
0.05001133 ETH0.000021051
Sweep80132662019-06-23 8:33:342452 days ago1561278814IN
0x24F9Ad43...4a9e153cd
0 ETH0.0014997930
Transfer80132522019-06-23 8:30:242452 days ago1561278624IN
0x24F9Ad43...4a9e153cd
0.05008621 ETH0.000021051
Sweep79995212019-06-21 5:10:072454 days ago1561093807IN
0x24F9Ad43...4a9e153cd
0 ETH0.0014997930
Transfer79995052019-06-21 5:07:322454 days ago1561093652IN
0x24F9Ad43...4a9e153cd
0.05021633 ETH0.000021051
Sweep79871252019-06-19 6:32:062456 days ago1560925926IN
0x24F9Ad43...4a9e153cd
0 ETH0.0024996550
Transfer79871052019-06-19 6:26:402456 days ago1560925600IN
0x24F9Ad43...4a9e153cd
0.05010456 ETH0.000021051
Sweep79738852019-06-17 4:41:022458 days ago1560746462IN
0x24F9Ad43...4a9e153cd
0 ETH0.0024996550
Transfer79738692019-06-17 4:37:352458 days ago1560746255IN
0x24F9Ad43...4a9e153cd
0.05004912 ETH0.000021051
Sweep79610712019-06-15 4:40:182460 days ago1560573618IN
0x24F9Ad43...4a9e153cd
0 ETH0.0024996550
Transfer79610462019-06-15 4:35:102460 days ago1560573310IN
0x24F9Ad43...4a9e153cd
0.05001866 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-81614142019-07-16 10:38:232429 days ago1563273503
0x24F9Ad43...4a9e153cd
0.05006203 ETH
-81391932019-07-12 23:24:462432 days ago1562973886
0x24F9Ad43...4a9e153cd
0.05004317 ETH
-81255022019-07-10 20:04:592434 days ago1562789099
0x24F9Ad43...4a9e153cd
0.06271813 ETH
-80665292019-07-01 15:52:042444 days ago1561996324
0x24F9Ad43...4a9e153cd
0.05000587 ETH
-80526352019-06-29 11:57:492446 days ago1561809469
0x24F9Ad43...4a9e153cd
0.05001452 ETH
-80391792019-06-27 9:30:112448 days ago1561627811
0x24F9Ad43...4a9e153cd
0.05004679 ETH
-80261422019-06-25 8:50:002450 days ago1561452600
0x24F9Ad43...4a9e153cd
0.05001134 ETH
-80132662019-06-23 8:33:342452 days ago1561278814
0x24F9Ad43...4a9e153cd
0.05008622 ETH
-79995212019-06-21 5:10:072454 days ago1561093807
0x24F9Ad43...4a9e153cd
0.05021633 ETH
-79871252019-06-19 6:32:062456 days ago1560925926
0x24F9Ad43...4a9e153cd
0.05010457 ETH
-79738852019-06-17 4:41:022458 days ago1560746462
0x24F9Ad43...4a9e153cd
0.05004912 ETH
-79610712019-06-15 4:40:182460 days ago1560573618
0x24F9Ad43...4a9e153cd
0.05001866 ETH
-79481932019-06-13 4:29:302462 days ago1560400170
0x24F9Ad43...4a9e153cd
0.05001936 ETH
-79352202019-06-11 3:39:272464 days ago1560224367
0x24F9Ad43...4a9e153cd
0.05007246 ETH
-79214092019-06-08 23:54:322466 days ago1560038072
0x24F9Ad43...4a9e153cd
0.05009568 ETH
-79067862019-06-06 16:39:342469 days ago1559839174
0x24F9Ad43...4a9e153cd
0.05001882 ETH
-78936682019-06-04 15:34:222471 days ago1559662462
0x24F9Ad43...4a9e153cd
0.05007406 ETH
-78807192019-06-02 14:47:452473 days ago1559486865
0x24F9Ad43...4a9e153cd
0.05006529 ETH
-78675052019-05-31 13:12:232475 days ago1559308343
0x24F9Ad43...4a9e153cd
0.05013956 ETH
-78538272019-05-29 9:56:152477 days ago1559123775
0x24F9Ad43...4a9e153cd
0.05007698 ETH
-78397802019-05-27 5:19:472479 days ago1558934387
0x24F9Ad43...4a9e153cd
0.05010827 ETH
-78266122019-05-25 4:15:112481 days ago1558757711
0x24F9Ad43...4a9e153cd
0.05001791 ETH
-78134852019-05-23 3:03:402483 days ago1558580620
0x24F9Ad43...4a9e153cd
0.05001282 ETH
-78002922019-05-21 1:21:212485 days ago1558401681
0x24F9Ad43...4a9e153cd
0.05002053 ETH
-77859232019-05-18 19:08:282487 days ago1558206508
0x24F9Ad43...4a9e153cd
0.0500078 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.