ETH Price: $2,660.23 (-2.88%)

Contract

0x8c772fe8c35588aA0263cAd789999E643bEa1Bf1
 

Overview

ETH Balance

0.000000008835865526 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep143012932022-03-01 13:04:201088 days ago1646139860IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0040615654.6651822
Sweep63679862018-09-20 18:22:462346 days ago1537467766IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63679632018-09-20 18:18:212346 days ago1537467501IN
0x8c772fe8...43bEa1Bf1
0.08507023 ETH0.000021051
Sweep63255742018-09-13 18:25:122353 days ago1536863112IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63255502018-09-13 18:19:542353 days ago1536862794IN
0x8c772fe8...43bEa1Bf1
0.10053065 ETH0.000021051
Sweep63207492018-09-12 23:08:312354 days ago1536793711IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63207302018-09-12 23:02:312354 days ago1536793351IN
0x8c772fe8...43bEa1Bf1
0.1004277 ETH0.000021051
Sweep63158222018-09-12 3:36:272354 days ago1536723387IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63158032018-09-12 3:30:522354 days ago1536723052IN
0x8c772fe8...43bEa1Bf1
0.10059297 ETH0.000021051
Sweep63107742018-09-11 7:23:052355 days ago1536650585IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63107582018-09-11 7:17:582355 days ago1536650278IN
0x8c772fe8...43bEa1Bf1
0.10016648 ETH0.000021051
Sweep63058902018-09-10 11:58:492356 days ago1536580729IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63058702018-09-10 11:53:012356 days ago1536580381IN
0x8c772fe8...43bEa1Bf1
0.10017784 ETH0.000021051
Sweep63009152018-09-09 16:08:082357 days ago1536509288IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer63008922018-09-09 16:03:522357 days ago1536509032IN
0x8c772fe8...43bEa1Bf1
0.10028822 ETH0.000021051
Sweep62959592018-09-08 19:40:262358 days ago1536435626IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer62959392018-09-08 19:36:432358 days ago1536435403IN
0x8c772fe8...43bEa1Bf1
0.10003234 ETH0.000021051
Sweep62911022018-09-08 0:05:442358 days ago1536365144IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0024996550
Transfer62910832018-09-08 0:01:462358 days ago1536364906IN
0x8c772fe8...43bEa1Bf1
0.10048064 ETH0.000021051
Sweep62859952018-09-07 3:31:532359 days ago1536291113IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer62859752018-09-07 3:26:492359 days ago1536290809IN
0x8c772fe8...43bEa1Bf1
0.1002881 ETH0.000021051
Sweep62806402018-09-06 6:03:132360 days ago1536213793IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer62806222018-09-06 5:58:272360 days ago1536213507IN
0x8c772fe8...43bEa1Bf1
0.10011311 ETH0.000021051
Sweep62753492018-09-05 8:48:142361 days ago1536137294IN
0x8c772fe8...43bEa1Bf1
0 ETH0.0025028550
Transfer62753292018-09-05 8:43:402361 days ago1536137020IN
0x8c772fe8...43bEa1Bf1
0.10027802 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
63679862018-09-20 18:22:462346 days ago1537467766
0x8c772fe8...43bEa1Bf1
0.08507023 ETH
63255742018-09-13 18:25:122353 days ago1536863112
0x8c772fe8...43bEa1Bf1
0.10053066 ETH
63207492018-09-12 23:08:312354 days ago1536793711
0x8c772fe8...43bEa1Bf1
0.1004277 ETH
63158222018-09-12 3:36:272354 days ago1536723387
0x8c772fe8...43bEa1Bf1
0.10059297 ETH
63107742018-09-11 7:23:052355 days ago1536650585
0x8c772fe8...43bEa1Bf1
0.10016649 ETH
63058902018-09-10 11:58:492356 days ago1536580729
0x8c772fe8...43bEa1Bf1
0.10017784 ETH
63009152018-09-09 16:08:082357 days ago1536509288
0x8c772fe8...43bEa1Bf1
0.10028823 ETH
62959592018-09-08 19:40:262358 days ago1536435626
0x8c772fe8...43bEa1Bf1
0.10003235 ETH
62911022018-09-08 0:05:442358 days ago1536365144
0x8c772fe8...43bEa1Bf1
0.10048064 ETH
62859952018-09-07 3:31:532359 days ago1536291113
0x8c772fe8...43bEa1Bf1
0.10028811 ETH
62806402018-09-06 6:03:132360 days ago1536213793
0x8c772fe8...43bEa1Bf1
0.10011312 ETH
62753492018-09-05 8:48:142361 days ago1536137294
0x8c772fe8...43bEa1Bf1
0.10027802 ETH
62700012018-09-04 11:16:182362 days ago1536059778
0x8c772fe8...43bEa1Bf1
0.10058685 ETH
62645362018-09-03 13:13:402363 days ago1535980420
0x8c772fe8...43bEa1Bf1
0.10037961 ETH
62590592018-09-02 15:11:432364 days ago1535901103
0x8c772fe8...43bEa1Bf1
0.10025037 ETH
62538422018-09-01 18:09:242365 days ago1535825364
0x8c772fe8...43bEa1Bf1
0.10058281 ETH
62486892018-08-31 21:08:582366 days ago1535749738
0x8c772fe8...43bEa1Bf1
0.10034702 ETH
62434262018-08-30 23:55:072366 days ago1535673307
0x8c772fe8...43bEa1Bf1
0.10004673 ETH
62383862018-08-30 3:18:242367 days ago1535599104
0x8c772fe8...43bEa1Bf1
0.10022169 ETH
62331922018-08-29 6:24:182368 days ago1535523858
0x8c772fe8...43bEa1Bf1
0.10028124 ETH
62279092018-08-28 8:48:052369 days ago1535446085
0x8c772fe8...43bEa1Bf1
0.10005874 ETH
62212122018-08-27 5:50:402370 days ago1535349040
0x8c772fe8...43bEa1Bf1
0.1000157 ETH
62147922018-08-26 3:45:312371 days ago1535255131
0x8c772fe8...43bEa1Bf1
0.10023172 ETH
62083822018-08-25 1:49:072372 days ago1535161747
0x8c772fe8...43bEa1Bf1
0.10025753 ETH
62020342018-08-24 0:11:422373 days ago1535069502
0x8c772fe8...43bEa1Bf1
0.10025216 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.