ETH Price: $2,675.53 (+1.44%)

Contract

0xD9289f179249a465168137a3b5b39593AE85F83b
 

Overview

ETH Balance

0.000000002 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep69028912018-12-17 11:27:532247 days ago1545046073IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer69028732018-12-17 11:23:102247 days ago1545045790IN
0xD9289f17...3AE85F83b
0.10168868 ETH0.000021051
Sweep68937692018-12-15 22:45:202248 days ago1544913920IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68937482018-12-15 22:40:352248 days ago1544913635IN
0xD9289f17...3AE85F83b
0.10451915 ETH0.000021051
Sweep68839022018-12-14 7:48:002250 days ago1544773680IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68838842018-12-14 7:44:552250 days ago1544773495IN
0xD9289f17...3AE85F83b
0.10036104 ETH0.000021051
Sweep68739382018-12-12 16:23:232252 days ago1544631803IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68739212018-12-12 16:19:202252 days ago1544631560IN
0xD9289f17...3AE85F83b
0.10024649 ETH0.000021051
Sweep68644652018-12-11 2:43:342253 days ago1544496214IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68644422018-12-11 2:39:082253 days ago1544495948IN
0xD9289f17...3AE85F83b
0.12488963 ETH0.000021051
Sweep68540112018-12-09 9:46:232255 days ago1544348783IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68539872018-12-09 9:39:312255 days ago1544348371IN
0xD9289f17...3AE85F83b
0.10508802 ETH0.000021051
Sweep68468752018-12-08 5:31:152256 days ago1544247075IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68468512018-12-08 5:25:252256 days ago1544246725IN
0xD9289f17...3AE85F83b
0.10306998 ETH0.000021051
Sweep68390862018-12-06 22:24:342257 days ago1544135074IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68390602018-12-06 22:19:072257 days ago1544134747IN
0xD9289f17...3AE85F83b
0.10289906 ETH0.000021051
Sweep68326582018-12-05 20:48:032258 days ago1544042883IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68326362018-12-05 20:43:552258 days ago1544042635IN
0xD9289f17...3AE85F83b
0.10151663 ETH0.000021051
Sweep68245602018-12-04 12:31:402260 days ago1543926700IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68245382018-12-04 12:27:442260 days ago1543926464IN
0xD9289f17...3AE85F83b
0.1013475 ETH0.000021051
Sweep68179572018-12-03 10:29:562261 days ago1543832996IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68179382018-12-03 10:23:282261 days ago1543832608IN
0xD9289f17...3AE85F83b
0.10451538 ETH0.000021051
Sweep68116832018-12-02 9:27:412262 days ago1543742861IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
Transfer68116672018-12-02 9:23:132262 days ago1543742593IN
0xD9289f17...3AE85F83b
0.10795963 ETH0.000021051
Sweep68062452018-12-01 11:44:242263 days ago1543664664IN
0xD9289f17...3AE85F83b
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
69028912018-12-17 11:27:532247 days ago1545046073
0xD9289f17...3AE85F83b
0.10168868 ETH
68937692018-12-15 22:45:202248 days ago1544913920
0xD9289f17...3AE85F83b
0.10451915 ETH
68839022018-12-14 7:48:002250 days ago1544773680
0xD9289f17...3AE85F83b
0.10036104 ETH
68739382018-12-12 16:23:232252 days ago1544631803
0xD9289f17...3AE85F83b
0.10024649 ETH
68644652018-12-11 2:43:342253 days ago1544496214
0xD9289f17...3AE85F83b
0.12488963 ETH
68540112018-12-09 9:46:232255 days ago1544348783
0xD9289f17...3AE85F83b
0.10508802 ETH
68468752018-12-08 5:31:152256 days ago1544247075
0xD9289f17...3AE85F83b
0.10306998 ETH
68390862018-12-06 22:24:342257 days ago1544135074
0xD9289f17...3AE85F83b
0.10289906 ETH
68326582018-12-05 20:48:032258 days ago1544042883
0xD9289f17...3AE85F83b
0.10151663 ETH
68245602018-12-04 12:31:402260 days ago1543926700
0xD9289f17...3AE85F83b
0.1013475 ETH
68179572018-12-03 10:29:562261 days ago1543832996
0xD9289f17...3AE85F83b
0.10451538 ETH
68116832018-12-02 9:27:412262 days ago1543742861
0xD9289f17...3AE85F83b
0.10795963 ETH
68062452018-12-01 11:44:242263 days ago1543664664
0xD9289f17...3AE85F83b
0.10389263 ETH
68006152018-11-30 13:26:532264 days ago1543584413
0xD9289f17...3AE85F83b
0.10699649 ETH
67917602018-11-29 2:37:162265 days ago1543459036
0xD9289f17...3AE85F83b
0.10418084 ETH
67827492018-11-27 14:55:482267 days ago1543330548
0xD9289f17...3AE85F83b
0.10186086 ETH
67744112018-11-26 5:32:412268 days ago1543210361
0xD9289f17...3AE85F83b
0.10027881 ETH
67639682018-11-24 12:36:402270 days ago1543063000
0xD9289f17...3AE85F83b
0.10201063 ETH
67537462018-11-22 20:39:312271 days ago1542919171
0xD9289f17...3AE85F83b
0.10090631 ETH
67425292018-11-21 0:28:342273 days ago1542760114
0xD9289f17...3AE85F83b
0.10223657 ETH
67295482018-11-18 20:45:152275 days ago1542573915
0xD9289f17...3AE85F83b
0.10118486 ETH
67049622018-11-14 20:32:422279 days ago1542227562
0xD9289f17...3AE85F83b
0.10078628 ETH
66713102018-11-09 8:29:242285 days ago1541752164
0xD9289f17...3AE85F83b
0.10046551 ETH
66350852018-11-03 9:50:552291 days ago1541238655
0xD9289f17...3AE85F83b
0.1004294 ETH
65508212018-10-20 14:47:032305 days ago1540046823
0xD9289f17...3AE85F83b
0.12777726 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.