ETH Price: $2,550.09 (+5.70%)

Contract

0x8791584C70C5A6B40a5eF57aC3730d94CF676B09
 

Overview

ETH Balance

0.000000004744341885 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep95776982020-02-29 9:01:031664 days ago1582966863IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer95776732020-02-29 8:55:531664 days ago1582966553IN
0x8791584C...4CF676B09
0.20020874 ETH0.0003157615
Sweep95324352020-02-22 9:54:121671 days ago1582365252IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer95324162020-02-22 9:49:161671 days ago1582364956IN
0x8791584C...4CF676B09
0.2000188 ETH0.0003157615
Sweep94770612020-02-13 21:19:271680 days ago1581628767IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer94770392020-02-13 21:14:161680 days ago1581628456IN
0x8791584C...4CF676B09
0.20011382 ETH0.0003157615
Sweep94521572020-02-10 1:36:561684 days ago1581298616IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer94521312020-02-10 1:33:051684 days ago1581298385IN
0x8791584C...4CF676B09
0.2009365 ETH0.0003157615
Sweep94338262020-02-07 5:55:431686 days ago1581054943IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer94338072020-02-07 5:52:081686 days ago1581054728IN
0x8791584C...4CF676B09
0.20097202 ETH0.0003157615
Sweep94116332020-02-03 19:57:591690 days ago1580759879IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer94116142020-02-03 19:53:411690 days ago1580759621IN
0x8791584C...4CF676B09
0.2010268 ETH0.0003157615
Sweep93877612020-01-31 4:08:161694 days ago1580443696IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer93877472020-01-31 4:04:571694 days ago1580443497IN
0x8791584C...4CF676B09
0.20019655 ETH0.0003157615
Sweep93688352020-01-28 6:13:211696 days ago1580192001IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer93688172020-01-28 6:10:331696 days ago1580191833IN
0x8791584C...4CF676B09
0.2008584 ETH0.0003157615
Sweep93483932020-01-25 2:47:141700 days ago1579920434IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer93483732020-01-25 2:42:321700 days ago1579920152IN
0x8791584C...4CF676B09
0.2000385 ETH0.0003157615
Sweep93280322020-01-21 23:56:301703 days ago1579650990IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer93280102020-01-21 23:50:571703 days ago1579650657IN
0x8791584C...4CF676B09
0.20000375 ETH0.0003157615
Sweep93103262020-01-19 7:11:071705 days ago1579417867IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer93103102020-01-19 7:07:451705 days ago1579417665IN
0x8791584C...4CF676B09
0.20069697 ETH0.0003157615
Sweep92926782020-01-16 14:13:561708 days ago1579184036IN
0x8791584C...4CF676B09
0 ETH0.0012536722
Transfer92926612020-01-16 14:10:091708 days ago1579183809IN
0x8791584C...4CF676B09
0.20044258 ETH0.0003157615
Sweep92745472020-01-13 19:28:061711 days ago1578943686IN
0x8791584C...4CF676B09
0 ETH0.0012536722
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
95776982020-02-29 9:01:031664 days ago1582966863
0x8791584C...4CF676B09
0.20020875 ETH
95324352020-02-22 9:54:121671 days ago1582365252
0x8791584C...4CF676B09
0.2000188 ETH
94770612020-02-13 21:19:271680 days ago1581628767
0x8791584C...4CF676B09
0.20011383 ETH
94521572020-02-10 1:36:561684 days ago1581298616
0x8791584C...4CF676B09
0.2009365 ETH
94338262020-02-07 5:55:431686 days ago1581054943
0x8791584C...4CF676B09
0.20097203 ETH
94116332020-02-03 19:57:591690 days ago1580759879
0x8791584C...4CF676B09
0.2010268 ETH
93877612020-01-31 4:08:161694 days ago1580443696
0x8791584C...4CF676B09
0.20019656 ETH
93688352020-01-28 6:13:211696 days ago1580192001
0x8791584C...4CF676B09
0.2008584 ETH
93483932020-01-25 2:47:141700 days ago1579920434
0x8791584C...4CF676B09
0.20003851 ETH
93280322020-01-21 23:56:301703 days ago1579650990
0x8791584C...4CF676B09
0.20000376 ETH
93103262020-01-19 7:11:071705 days ago1579417867
0x8791584C...4CF676B09
0.20069697 ETH
92926782020-01-16 14:13:561708 days ago1579184036
0x8791584C...4CF676B09
0.20044259 ETH
92745472020-01-13 19:28:061711 days ago1578943686
0x8791584C...4CF676B09
0.20056773 ETH
92606522020-01-11 16:22:131713 days ago1578759733
0x8791584C...4CF676B09
0.20058882 ETH
92468412020-01-09 13:56:421715 days ago1578578202
0x8791584C...4CF676B09
0.20005921 ETH
92329832020-01-07 10:38:321717 days ago1578393512
0x8791584C...4CF676B09
0.2004867 ETH
92153042020-01-04 17:38:401720 days ago1578159520
0x8791584C...4CF676B09
0.20130191 ETH
91987592020-01-02 2:27:261723 days ago1577932046
0x8791584C...4CF676B09
0.20001976 ETH
91823282019-12-29 19:34:501726 days ago1577648090
0x8791584C...4CF676B09
0.2013109 ETH
91666142019-12-26 16:46:361729 days ago1577378796
0x8791584C...4CF676B09
0.20030281 ETH
91520152019-12-23 18:44:541732 days ago1577126694
0x8791584C...4CF676B09
0.20050869 ETH
91377122019-12-20 22:39:431735 days ago1576881583
0x8791584C...4CF676B09
0.20068975 ETH
91225112019-12-17 21:40:031738 days ago1576618803
0x8791584C...4CF676B09
0.20011276 ETH
91076032019-12-14 23:15:091741 days ago1576365309
0x8791584C...4CF676B09
0.20001001 ETH
90911262019-12-11 22:40:071744 days ago1576104007
0x8791584C...4CF676B09
0.20184872 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.