ETH Price: $2,046.01 (-5.81%)

Contract

0x24D629136Bf917B841663da3B124A0eCCf42F112
 

Overview

ETH Balance

0.000000004700059905 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep80721012019-07-02 12:36:522459 days ago1562071012IN
0x24D62913...CCf42F112
0 ETH0.0010998422
Transfer80720812019-07-02 12:33:172459 days ago1562070797IN
0x24D62913...CCf42F112
0.05001046 ETH0.000021051
Sweep80561452019-06-30 1:01:052461 days ago1561856465IN
0x24D62913...CCf42F112
0 ETH0.0010998422
Transfer80561212019-06-30 0:56:342461 days ago1561856194IN
0x24D62913...CCf42F112
0.05007941 ETH0.000021051
Sweep80382152019-06-27 5:54:202464 days ago1561614860IN
0x24D62913...CCf42F112
0 ETH0.0010998422
Transfer80381982019-06-27 5:49:012464 days ago1561614541IN
0x24D62913...CCf42F112
0.05001229 ETH0.000021051
Sweep80226752019-06-24 19:42:212466 days ago1561405341IN
0x24D62913...CCf42F112
0 ETH0.0014997930
Transfer80226572019-06-24 19:38:022467 days ago1561405082IN
0x24D62913...CCf42F112
0.05004467 ETH0.000021051
Sweep80074632019-06-22 10:58:032469 days ago1561201083IN
0x24D62913...CCf42F112
0 ETH0.0014997930
Transfer80074342019-06-22 10:53:042469 days ago1561200784IN
0x24D62913...CCf42F112
0.05005007 ETH0.000021051
Sweep79924402019-06-20 2:33:222471 days ago1560998002IN
0x24D62913...CCf42F112
0 ETH0.0014997930
Transfer79924162019-06-20 2:28:032471 days ago1560997683IN
0x24D62913...CCf42F112
0.05006491 ETH0.000021051
Sweep79775662019-06-17 18:36:392474 days ago1560796599IN
0x24D62913...CCf42F112
0 ETH0.0024996550
Transfer79775492019-06-17 18:34:102474 days ago1560796450IN
0x24D62913...CCf42F112
0.05009945 ETH0.000021051
Sweep79624382019-06-15 9:55:592476 days ago1560592559IN
0x24D62913...CCf42F112
0 ETH0.0024996550
Transfer79624252019-06-15 9:52:522476 days ago1560592372IN
0x24D62913...CCf42F112
0.05005307 ETH0.000021051
Sweep79352682019-06-11 3:48:592480 days ago1560224939IN
0x24D62913...CCf42F112
0 ETH0.0024996550
Transfer79352432019-06-11 3:44:142480 days ago1560224654IN
0x24D62913...CCf42F112
0.05003195 ETH0.000021051
Sweep79183732019-06-08 12:26:472483 days ago1559996807IN
0x24D62913...CCf42F112
0 ETH0.0024996550
Transfer79183592019-06-08 12:24:432483 days ago1559996683IN
0x24D62913...CCf42F112
0.05003653 ETH0.000021051
Sweep79004092019-06-05 16:57:442486 days ago1559753864IN
0x24D62913...CCf42F112
0 ETH0.0024996550
Transfer79003962019-06-05 16:53:562486 days ago1559753636IN
0x24D62913...CCf42F112
0.05000651 ETH0.000021051
Sweep78710402019-06-01 2:17:522490 days ago1559355472IN
0x24D62913...CCf42F112
0 ETH0.0024996550
Transfer78710202019-06-01 2:14:082490 days ago1559355248IN
0x24D62913...CCf42F112
0.05000139 ETH0.000021051
Sweep78551502019-05-29 14:50:382493 days ago1559141438IN
0x24D62913...CCf42F112
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-80721012019-07-02 12:36:522459 days ago1562071012
0x24D62913...CCf42F112
0.05001047 ETH
-80561452019-06-30 1:01:052461 days ago1561856465
0x24D62913...CCf42F112
0.05007941 ETH
-80382152019-06-27 5:54:202464 days ago1561614860
0x24D62913...CCf42F112
0.05001229 ETH
-80226752019-06-24 19:42:212466 days ago1561405341
0x24D62913...CCf42F112
0.05004467 ETH
-80074632019-06-22 10:58:032469 days ago1561201083
0x24D62913...CCf42F112
0.05005008 ETH
-79924402019-06-20 2:33:222471 days ago1560998002
0x24D62913...CCf42F112
0.05006492 ETH
-79775662019-06-17 18:36:392474 days ago1560796599
0x24D62913...CCf42F112
0.05009945 ETH
-79624382019-06-15 9:55:592476 days ago1560592559
0x24D62913...CCf42F112
0.05005308 ETH
-79352682019-06-11 3:48:592480 days ago1560224939
0x24D62913...CCf42F112
0.05003196 ETH
-79183732019-06-08 12:26:472483 days ago1559996807
0x24D62913...CCf42F112
0.05003653 ETH
-79004092019-06-05 16:57:442486 days ago1559753864
0x24D62913...CCf42F112
0.05000651 ETH
-78710402019-06-01 2:17:522490 days ago1559355472
0x24D62913...CCf42F112
0.0500014 ETH
-78551502019-05-29 14:50:382493 days ago1559141438
0x24D62913...CCf42F112
0.08570187 ETH
-70493002019-01-11 18:08:272631 days ago1547230107
0x24D62913...CCf42F112
0.05009172 ETH
-70354762019-01-09 6:32:342633 days ago1547015554
0x24D62913...CCf42F112
0.05003158 ETH
-70235562019-01-07 3:33:082635 days ago1546831988
0x24D62913...CCf42F112
0.05008673 ETH
-70116142019-01-05 0:16:292637 days ago1546647389
0x24D62913...CCf42F112
0.05006254 ETH
-69996002019-01-02 20:37:432639 days ago1546461463
0x24D62913...CCf42F112
0.05000771 ETH
-69884622018-12-31 23:20:442641 days ago1546298444
0x24D62913...CCf42F112
0.05010133 ETH
-69772442018-12-30 1:48:022643 days ago1546134482
0x24D62913...CCf42F112
0.05002539 ETH
-69661052018-12-28 4:47:202645 days ago1545972440
0x24D62913...CCf42F112
0.05008292 ETH
-69546152018-12-26 6:12:412647 days ago1545804761
0x24D62913...CCf42F112
0.05003659 ETH
-69434182018-12-24 9:05:452649 days ago1545642345
0x24D62913...CCf42F112
0.05001993 ETH
-69330022018-12-22 14:37:442651 days ago1545489464
0x24D62913...CCf42F112
0.0501001 ETH
-69194972018-12-20 7:24:332653 days ago1545290673
0x24D62913...CCf42F112
0.05010261 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.