ETH Price: $3,256.56 (-3.53%)

Contract

0x9908452f3e3CCBb5FBA7c2acD2Adf712a3Da898b
 

Overview

ETH Balance

0.000000006481278336 ETH

Eth Value

Less Than $0.01 (@ $3,256.56/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep77590222019-05-14 14:35:082009 days ago1557844508IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer77589952019-05-14 14:30:592009 days ago1557844259IN
0x9908452f...2a3Da898b
0.19248842 ETH0.0002105110
Sweep68543292018-12-09 11:02:282165 days ago1544353348IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68543072018-12-09 10:56:412165 days ago1544353001IN
0x9908452f...2a3Da898b
0.2015228 ETH0.0002105110
Sweep68529062018-12-09 5:30:072165 days ago1544333407IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68528922018-12-09 5:27:452165 days ago1544333265IN
0x9908452f...2a3Da898b
0.20260292 ETH0.0002105110
Sweep68513552018-12-08 23:19:362166 days ago1544311176IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68513392018-12-08 23:14:062166 days ago1544310846IN
0x9908452f...2a3Da898b
0.20002303 ETH0.0002105110
Sweep68498872018-12-08 17:32:122166 days ago1544290332IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68498732018-12-08 17:28:072166 days ago1544290087IN
0x9908452f...2a3Da898b
0.2021433 ETH0.0002105110
Sweep68484792018-12-08 11:57:022166 days ago1544270222IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68484662018-12-08 11:53:152166 days ago1544269995IN
0x9908452f...2a3Da898b
0.20564825 ETH0.0002105110
Sweep68471532018-12-08 6:37:002166 days ago1544251020IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68471202018-12-08 6:31:082166 days ago1544250668IN
0x9908452f...2a3Da898b
0.20339966 ETH0.0002105110
Sweep68457272018-12-08 0:59:272166 days ago1544230767IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68457072018-12-08 0:55:172166 days ago1544230517IN
0x9908452f...2a3Da898b
0.20303934 ETH0.0002105110
Sweep68441122018-12-07 18:25:362167 days ago1544207136IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68440892018-12-07 18:20:492167 days ago1544206849IN
0x9908452f...2a3Da898b
0.20476725 ETH0.0002105110
Sweep68425832018-12-07 12:30:302167 days ago1544185830IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68425642018-12-07 12:25:052167 days ago1544185505IN
0x9908452f...2a3Da898b
0.20834445 ETH0.0002105110
Sweep68412342018-12-07 6:58:102167 days ago1544165890IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68412132018-12-07 6:52:092167 days ago1544165529IN
0x9908452f...2a3Da898b
0.20099382 ETH0.0002105110
Sweep68397532018-12-07 0:59:102167 days ago1544144350IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
Transfer68397372018-12-07 0:55:012167 days ago1544144101IN
0x9908452f...2a3Da898b
0.20098078 ETH0.0002105110
Sweep68382842018-12-06 19:11:572168 days ago1544123517IN
0x9908452f...2a3Da898b
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
77590222019-05-14 14:35:082009 days ago1557844508
0x9908452f...2a3Da898b
0.19248843 ETH
68543292018-12-09 11:02:282165 days ago1544353348
0x9908452f...2a3Da898b
0.2015228 ETH
68529062018-12-09 5:30:072165 days ago1544333407
0x9908452f...2a3Da898b
0.20260292 ETH
68513552018-12-08 23:19:362166 days ago1544311176
0x9908452f...2a3Da898b
0.20002303 ETH
68498872018-12-08 17:32:122166 days ago1544290332
0x9908452f...2a3Da898b
0.20214331 ETH
68484792018-12-08 11:57:022166 days ago1544270222
0x9908452f...2a3Da898b
0.20564825 ETH
68471532018-12-08 6:37:002166 days ago1544251020
0x9908452f...2a3Da898b
0.20339967 ETH
68457272018-12-08 0:59:272166 days ago1544230767
0x9908452f...2a3Da898b
0.20303934 ETH
68441122018-12-07 18:25:362167 days ago1544207136
0x9908452f...2a3Da898b
0.20476726 ETH
68425832018-12-07 12:30:302167 days ago1544185830
0x9908452f...2a3Da898b
0.20834446 ETH
68412342018-12-07 6:58:102167 days ago1544165890
0x9908452f...2a3Da898b
0.20099382 ETH
68397532018-12-07 0:59:102167 days ago1544144350
0x9908452f...2a3Da898b
0.20098078 ETH
68382842018-12-06 19:11:572168 days ago1544123517
0x9908452f...2a3Da898b
0.20890427 ETH
68365952018-12-06 12:26:332168 days ago1544099193
0x9908452f...2a3Da898b
0.21422559 ETH
68353162018-12-06 7:24:472168 days ago1544081087
0x9908452f...2a3Da898b
0.20091416 ETH
68340282018-12-06 2:11:022168 days ago1544062262
0x9908452f...2a3Da898b
0.20690635 ETH
68325692018-12-05 20:29:042169 days ago1544041744
0x9908452f...2a3Da898b
0.20734727 ETH
68313772018-12-05 15:48:552169 days ago1544024935
0x9908452f...2a3Da898b
0.20428237 ETH
68300412018-12-05 10:27:492169 days ago1544005669
0x9908452f...2a3Da898b
0.21288971 ETH
68286052018-12-05 4:52:072169 days ago1543985527
0x9908452f...2a3Da898b
0.2131289 ETH
68271942018-12-04 22:55:492170 days ago1543964149
0x9908452f...2a3Da898b
0.20511667 ETH
68259122018-12-04 17:54:382170 days ago1543946078
0x9908452f...2a3Da898b
0.20377712 ETH
68247252018-12-04 13:11:132170 days ago1543929073
0x9908452f...2a3Da898b
0.20762775 ETH
68232702018-12-04 7:28:212170 days ago1543908501
0x9908452f...2a3Da898b
0.20504878 ETH
68219612018-12-04 2:14:072170 days ago1543889647
0x9908452f...2a3Da898b
0.20493245 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.