ETH Price: $3,228.06 (+3.68%)
Gas: 5.88 Gwei

Contract

0x8706d2207728557Ec96Db29D677DF6b0Fa771Dd1
 

Overview

ETH Balance

0.000000000349572925 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep119871082021-03-06 20:40:241410 days ago1615063224IN
0x8706d220...0Fa771Dd1
0 ETH0.0051024389.54
Transfer119869002021-03-06 19:57:131410 days ago1615060633IN
0x8706d220...0Fa771Dd1
3.97399517 ETH0.0031787151
Sweep119867542021-03-06 19:25:031410 days ago1615058703IN
0x8706d220...0Fa771Dd1
0 ETH0.00827422145.2
Transfer119867342021-03-06 19:20:171410 days ago1615058417IN
0x8706d220...0Fa771Dd1
0.99349879 ETH0.00364182173
Sweep55355112018-05-01 2:50:402450 days ago1525143040IN
0x8706d220...0Fa771Dd1
0 ETH0.0025028550
Transfer55354612018-05-01 2:37:122450 days ago1525142232IN
0x8706d220...0Fa771Dd1
7.31843291 ETH0.00012636
Sweep49242152018-01-17 15:16:382554 days ago1516202198IN
0x8706d220...0Fa771Dd1
0 ETH0.0045051390
Transfer49241852018-01-17 15:08:442554 days ago1516201724IN
0x8706d220...0Fa771Dd1
1.80178252 ETH0.001073651
Sweep49220412018-01-17 6:00:352554 days ago1516168835IN
0x8706d220...0Fa771Dd1
0 ETH0.0045051390
Transfer49220092018-01-17 5:54:182554 days ago1516168458IN
0x8706d220...0Fa771Dd1
1.52783719 ETH0.001073651
Sweep49026582018-01-13 17:32:532558 days ago1515864773IN
0x8706d220...0Fa771Dd1
0 ETH0.00675769135
Transfer49026222018-01-13 17:18:562558 days ago1515863936IN
0x8706d220...0Fa771Dd1
0.75835962 ETH0.0018945990
Sweep48987352018-01-13 0:13:122558 days ago1515802392IN
0x8706d220...0Fa771Dd1
0 ETH0.0045051390
Transfer48987172018-01-13 0:08:202558 days ago1515802100IN
0x8706d220...0Fa771Dd1
1.27887981 ETH0.0010525550
Transfer48987072018-01-13 0:05:102558 days ago1515801910IN
0x8706d220...0Fa771Dd1
4.48245012 ETH0.0010525550
Sweep48774192018-01-09 1:42:082562 days ago1515462128IN
0x8706d220...0Fa771Dd1
0 ETH0.004044380.79402393
Transfer48773802018-01-09 1:29:252562 days ago1515461365IN
0x8706d220...0Fa771Dd1
1.23240968 ETH0.0016209277
Sweep48525882018-01-04 11:39:522567 days ago1515065992IN
0x8706d220...0Fa771Dd1
0 ETH0.002552951
Transfer48517612018-01-04 8:12:512567 days ago1515053571IN
0x8706d220...0Fa771Dd1
2.10014084 ETH0.0004420721
Sweep47846572017-12-23 21:05:102579 days ago1514063110IN
0x8706d220...0Fa771Dd1
0 ETH0.002552951
Transfer47846202017-12-23 20:56:212579 days ago1514062581IN
0x8706d220...0Fa771Dd1
0.12419758 ETH0.0006315330
Sweep47691842017-12-21 4:11:262581 days ago1513829486IN
0x8706d220...0Fa771Dd1
0 ETH0.0028031956
Transfer47688632017-12-21 2:51:532581 days ago1513824713IN
0x8706d220...0Fa771Dd1
0.59420473 ETH0.0008420440
Sweep47461692017-12-17 2:49:442585 days ago1513478984IN
0x8706d220...0Fa771Dd1
0 ETH0.002552951
Transfer47461332017-12-17 2:41:402585 days ago1513478500IN
0x8706d220...0Fa771Dd1
1.0705519 ETH0.0005262725
View all transactions

Latest 15 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
119871082021-03-06 20:40:241410 days ago1615063224
0x8706d220...0Fa771Dd1
3.97399517 ETH
119867542021-03-06 19:25:031410 days ago1615058703
0x8706d220...0Fa771Dd1
0.99349879 ETH
55355112018-05-01 2:50:402450 days ago1525143040
0x8706d220...0Fa771Dd1
7.31843291 ETH
49242152018-01-17 15:16:382554 days ago1516202198
0x8706d220...0Fa771Dd1
1.80178253 ETH
49220412018-01-17 6:00:352554 days ago1516168835
0x8706d220...0Fa771Dd1
1.52783719 ETH
49026582018-01-13 17:32:532558 days ago1515864773
0x8706d220...0Fa771Dd1
0.75835962 ETH
48987352018-01-13 0:13:122558 days ago1515802392
0x8706d220...0Fa771Dd1
5.76132993 ETH
48774192018-01-09 1:42:082562 days ago1515462128
0x8706d220...0Fa771Dd1
1.23240968 ETH
48525882018-01-04 11:39:522567 days ago1515065992
0x8706d220...0Fa771Dd1
2.10014084 ETH
47846572017-12-23 21:05:102579 days ago1514063110
0x8706d220...0Fa771Dd1
0.12419758 ETH
47691842017-12-21 4:11:262581 days ago1513829486
0x8706d220...0Fa771Dd1
0.59420473 ETH
47461692017-12-17 2:49:442585 days ago1513478984
0x8706d220...0Fa771Dd1
1.0705519 ETH
47459892017-12-17 2:09:002585 days ago1513476540
0x8706d220...0Fa771Dd1
1.40648 ETH
46883502017-12-07 2:02:502595 days ago1512612170
0x8706d220...0Fa771Dd1
0.69894294 ETH
46871922017-12-06 21:05:352596 days ago1512594335  Contract Creation0 ETH
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.