ETH Price: $2,066.70 (-2.85%)

Contract

0x07AEd51D71efC8D987E004b7BFcA4B888337171e
 

Overview

ETH Balance

0.000000003 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep84729492019-09-02 20:38:002384 days ago1567456680IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer84729332019-09-02 20:34:502384 days ago1567456490IN
0x07AEd51D...88337171e
0.05042173 ETH0.000021051
Sweep84372742019-08-28 7:15:542390 days ago1566976554IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer84372522019-08-28 7:11:122390 days ago1566976272IN
0x07AEd51D...88337171e
0.05042104 ETH0.000021051
Sweep83976522019-08-22 3:19:142396 days ago1566443954IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer83976402019-08-22 3:16:422396 days ago1566443802IN
0x07AEd51D...88337171e
0.05019895 ETH0.000021051
Sweep83458122019-08-14 2:07:272404 days ago1565748447IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer83457982019-08-14 2:03:542404 days ago1565748234IN
0x07AEd51D...88337171e
0.05014476 ETH0.000021051
Sweep83152992019-08-09 8:17:362409 days ago1565338656IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer83152722019-08-09 8:13:472409 days ago1565338427IN
0x07AEd51D...88337171e
0.05022285 ETH0.000021051
Sweep82869552019-08-04 22:45:432413 days ago1564958743IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer82869362019-08-04 22:41:472413 days ago1564958507IN
0x07AEd51D...88337171e
0.05002302 ETH0.000021051
Sweep82576592019-07-31 9:43:272418 days ago1564566207IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer82576392019-07-31 9:39:332418 days ago1564565973IN
0x07AEd51D...88337171e
0.05037405 ETH0.000021051
Sweep82296582019-07-27 1:20:182422 days ago1564190418IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer82296412019-07-27 1:15:342422 days ago1564190134IN
0x07AEd51D...88337171e
0.05042457 ETH0.000021051
Sweep81990142019-07-22 6:59:352427 days ago1563778775IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer81989962019-07-22 6:56:272427 days ago1563778587IN
0x07AEd51D...88337171e
0.05018829 ETH0.000021051
Sweep81696562019-07-17 17:46:232431 days ago1563385583IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer81696382019-07-17 17:41:222431 days ago1563385282IN
0x07AEd51D...88337171e
0.0502153 ETH0.000021051
Sweep81356182019-07-12 10:00:472437 days ago1562925647IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer81356002019-07-12 9:56:062437 days ago1562925366IN
0x07AEd51D...88337171e
0.05013952 ETH0.000021051
Sweep81075462019-07-08 0:57:062441 days ago1562547426IN
0x07AEd51D...88337171e
0 ETH0.0010998422
Transfer81075252019-07-08 0:51:532441 days ago1562547113IN
0x07AEd51D...88337171e
0.05015414 ETH0.000021051
Sweep80741512019-07-02 20:10:072446 days ago1562098207IN
0x07AEd51D...88337171e
0 ETH0.0010998422
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-84729492019-09-02 20:38:002384 days ago1567456680
0x07AEd51D...88337171e
0.05042174 ETH
-84372742019-08-28 7:15:542390 days ago1566976554
0x07AEd51D...88337171e
0.05042104 ETH
-83976522019-08-22 3:19:142396 days ago1566443954
0x07AEd51D...88337171e
0.05019896 ETH
-83458122019-08-14 2:07:272404 days ago1565748447
0x07AEd51D...88337171e
0.05014476 ETH
-83152992019-08-09 8:17:362409 days ago1565338656
0x07AEd51D...88337171e
0.05022285 ETH
-82869552019-08-04 22:45:432413 days ago1564958743
0x07AEd51D...88337171e
0.05002302 ETH
-82576592019-07-31 9:43:272418 days ago1564566207
0x07AEd51D...88337171e
0.05037406 ETH
-82296582019-07-27 1:20:182422 days ago1564190418
0x07AEd51D...88337171e
0.05042458 ETH
-81990142019-07-22 6:59:352427 days ago1563778775
0x07AEd51D...88337171e
0.05018829 ETH
-81696562019-07-17 17:46:232431 days ago1563385583
0x07AEd51D...88337171e
0.0502153 ETH
-81356182019-07-12 10:00:472437 days ago1562925647
0x07AEd51D...88337171e
0.05013953 ETH
-81075462019-07-08 0:57:062441 days ago1562547426
0x07AEd51D...88337171e
0.05015414 ETH
-80741512019-07-02 20:10:072446 days ago1562098207
0x07AEd51D...88337171e
0.05020462 ETH
-80477702019-06-28 17:46:062450 days ago1561743966
0x07AEd51D...88337171e
0.05007479 ETH
-79978872019-06-20 22:58:372458 days ago1561071517
0x07AEd51D...88337171e
0.05028745 ETH
-79715562019-06-16 20:03:482462 days ago1560715428
0x07AEd51D...88337171e
0.05008248 ETH
-79489652019-06-13 7:19:372466 days ago1560410377
0x07AEd51D...88337171e
0.0500723 ETH
-79223912019-06-09 3:37:302470 days ago1560051450
0x07AEd51D...88337171e
0.05003813 ETH
-79016442019-06-05 21:39:362473 days ago1559770776
0x07AEd51D...88337171e
0.05002567 ETH
-78767382019-06-01 23:49:062477 days ago1559432946
0x07AEd51D...88337171e
0.05027418 ETH
-78497182019-05-28 18:42:022481 days ago1559068922
0x07AEd51D...88337171e
0.05018517 ETH
-78241562019-05-24 19:11:332485 days ago1558725093
0x07AEd51D...88337171e
0.05011556 ETH
-77970232019-05-20 13:03:282489 days ago1558357408
0x07AEd51D...88337171e
0.05026645 ETH
-69038312018-12-17 15:15:342643 days ago1545059734
0x07AEd51D...88337171e
0.05060568 ETH
-68856372018-12-14 14:48:272646 days ago1544798907
0x07AEd51D...88337171e
0.05011454 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.