ETH Price: $2,092.29 (-2.75%)

Contract

0x0d73F0752cB93C079275EFd9AB2fe2Fcde3DD13F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep77414912019-05-11 20:56:102489 days ago1557608170IN
0x0d73F075...cde3DD13F
0 ETH0.0023957550
Sweep77412782019-05-11 20:09:002490 days ago1557605340IN
0x0d73F075...cde3DD13F
0 ETH0.002341850
Sweep67462202018-11-21 15:02:422661 days ago1542812562IN
0x0d73F075...cde3DD13F
0 ETH0.0025028550
Transfer67461972018-11-21 14:56:102661 days ago1542812170IN
0x0d73F075...cde3DD13F
4.78016897 ETH0.0002105110
Sweep66695012018-11-09 1:12:532673 days ago1541725973IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer66694852018-11-09 1:08:402673 days ago1541725720IN
0x0d73F075...cde3DD13F
3 ETH0.000189459
Sweep66432112018-11-04 17:37:562678 days ago1541353076IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer66431952018-11-04 17:33:232678 days ago1541352803IN
0x0d73F075...cde3DD13F
5 ETH0.000189459
Sweep65571762018-10-21 15:46:242692 days ago1540136784IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer65571452018-10-21 15:37:212692 days ago1540136241IN
0x0d73F075...cde3DD13F
5 ETH0.000147357
Sweep65446372018-10-19 14:30:172694 days ago1539959417IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer65446092018-10-19 14:22:052694 days ago1539958925IN
0x0d73F075...cde3DD13F
5 ETH0.0002315611
Sweep65357732018-10-18 3:34:142695 days ago1539833654IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer65357182018-10-18 3:19:392695 days ago1539832779IN
0x0d73F075...cde3DD13F
5 ETH0.000105255
Sweep64926982018-10-11 3:20:302702 days ago1539228030IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer64926722018-10-11 3:14:252702 days ago1539227665IN
0x0d73F075...cde3DD13F
4 ETH0.0003368116
Sweep64908132018-10-10 20:01:472703 days ago1539201707IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer64907952018-10-10 19:57:392703 days ago1539201459IN
0x0d73F075...cde3DD13F
4 ETH0.0002105110
Sweep64804062018-10-09 3:22:132704 days ago1539055333IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer64803922018-10-09 3:19:182704 days ago1539055158IN
0x0d73F075...cde3DD13F
4 ETH0.00012636
Sweep64781102018-10-08 18:33:222705 days ago1539023602IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer64780952018-10-08 18:30:112705 days ago1539023411IN
0x0d73F075...cde3DD13F
5 ETH0.00012636
Sweep64658072018-10-06 18:59:062707 days ago1538852346IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
Transfer64657822018-10-06 18:53:302707 days ago1538852010IN
0x0d73F075...cde3DD13F
4 ETH0.00008424
Sweep64495762018-10-04 3:50:082709 days ago1538625008IN
0x0d73F075...cde3DD13F
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer67462202018-11-21 15:02:422661 days ago1542812562
0x0d73F075...cde3DD13F
4.78016897 ETH
Transfer66695012018-11-09 1:12:532673 days ago1541725973
0x0d73F075...cde3DD13F
3 ETH
Transfer66432112018-11-04 17:37:562678 days ago1541353076
0x0d73F075...cde3DD13F
5 ETH
Transfer65571762018-10-21 15:46:242692 days ago1540136784
0x0d73F075...cde3DD13F
5 ETH
Transfer65446372018-10-19 14:30:172694 days ago1539959417
0x0d73F075...cde3DD13F
5 ETH
Transfer65357732018-10-18 3:34:142695 days ago1539833654
0x0d73F075...cde3DD13F
5 ETH
Transfer64926982018-10-11 3:20:302702 days ago1539228030
0x0d73F075...cde3DD13F
4 ETH
Transfer64908132018-10-10 20:01:472703 days ago1539201707
0x0d73F075...cde3DD13F
4 ETH
Transfer64804062018-10-09 3:22:132704 days ago1539055333
0x0d73F075...cde3DD13F
4 ETH
Transfer64781102018-10-08 18:33:222705 days ago1539023602
0x0d73F075...cde3DD13F
5 ETH
Transfer64658072018-10-06 18:59:062707 days ago1538852346
0x0d73F075...cde3DD13F
4 ETH
Transfer64495762018-10-04 3:50:082709 days ago1538625008
0x0d73F075...cde3DD13F
4 ETH
Transfer64350672018-10-01 18:49:242712 days ago1538419764
0x0d73F075...cde3DD13F
4 ETH
Transfer64281082018-09-30 15:36:302713 days ago1538321790
0x0d73F075...cde3DD13F
8 ETH
Transfer64108592018-09-27 19:50:162716 days ago1538077816
0x0d73F075...cde3DD13F
5 ETH
Transfer63972922018-09-25 14:16:582718 days ago1537885018
0x0d73F075...cde3DD13F
5 ETH
Transfer63853372018-09-23 15:08:252720 days ago1537715305
0x0d73F075...cde3DD13F
4 ETH
Transfer63824642018-09-23 3:54:202720 days ago1537674860
0x0d73F075...cde3DD13F
2 ETH
Transfer63764242018-09-22 3:54:192721 days ago1537588459
0x0d73F075...cde3DD13F
2 ETH
Transfer63701752018-09-21 3:14:302722 days ago1537499670
0x0d73F075...cde3DD13F
5 ETH
Transfer63643352018-09-20 3:46:432723 days ago1537415203
0x0d73F075...cde3DD13F
3 ETH
Transfer63521342018-09-18 3:25:132725 days ago1537241113
0x0d73F075...cde3DD13F
2 ETH
Transfer63385512018-09-15 21:49:392727 days ago1537048179
0x0d73F075...cde3DD13F
2.5 ETH
Transfer63197712018-09-12 19:15:542731 days ago1536779754
0x0d73F075...cde3DD13F
2 ETH
Transfer62957152018-09-08 18:44:082735 days ago1536432248
0x0d73F075...cde3DD13F
4 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.