ETH Price: $2,161.43 (-7.32%)
Gas: 6.94 Gwei

Contract

0x6B641097e295B88d0382Dfb17cF295B197683165
 

Overview

ETH Balance

0.000000002402730618 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep103299692020-06-24 17:54:241709 days ago1593021264IN
0x6B641097...197683165
0 ETH0.0032474657
Transfer103299522020-06-24 17:50:341709 days ago1593021034IN
0x6B641097...197683165
0.06008057 ETH0.000021051
Sweep103229292020-06-23 15:41:181710 days ago1592926878IN
0x6B641097...197683165
0 ETH0.0032474657
Transfer103229102020-06-23 15:36:451710 days ago1592926605IN
0x6B641097...197683165
0.06006989 ETH0.000021051
Sweep101689132020-05-30 19:03:411734 days ago1590865421IN
0x6B641097...197683165
0 ETH0.0017095530
Transfer101688872020-05-30 18:57:521734 days ago1590865072IN
0x6B641097...197683165
0.57838807 ETH0.0005894228
Sweep87195112019-10-11 9:11:151966 days ago1570785075IN
0x6B641097...197683165
0 ETH0.0011012522
Transfer87194842019-10-11 9:07:251966 days ago1570784845IN
0x6B641097...197683165
7.8169 ETH0.0004420721
Sweep82895132019-08-05 8:15:242033 days ago1564992924IN
0x6B641097...197683165
0 ETH0.0010998422
Transfer82894972019-08-05 8:11:332033 days ago1564992693IN
0x6B641097...197683165
0.99268544 ETH0.0010525550
Sweep82590462019-07-31 14:52:472038 days ago1564584767IN
0x6B641097...197683165
0 ETH0.0010998422
Transfer82590282019-07-31 14:48:472038 days ago1564584527IN
0x6B641097...197683165
0.85896447 ETH0.0004736422.5
Sweep77388892019-05-11 11:08:292119 days ago1557572909IN
0x6B641097...197683165
0 ETH0.0025028550
Transfer77388722019-05-11 11:06:452119 days ago1557572805IN
0x6B641097...197683165
0.99983282 ETH0.000138936.6
Sweep65157122018-10-14 20:59:442328 days ago1539550784IN
0x6B641097...197683165
0 ETH0.0024996550
Transfer65156982018-10-14 20:55:502328 days ago1539550550IN
0x6B641097...197683165
0.25 ETH0.000157887.5
Sweep63746122018-09-21 20:50:582351 days ago1537563058IN
0x6B641097...197683165
0 ETH0.0024996550
Transfer63745812018-09-21 20:44:012351 days ago1537562641IN
0x6B641097...197683165
0.55 ETH0.0003473416.5
Sweep60196692018-07-24 4:20:502410 days ago1532406050IN
0x6B641097...197683165
0 ETH0.0050057100
Transfer60196212018-07-24 4:10:452410 days ago1532405445IN
0x6B641097...197683165
0.2198 ETH0.001115753
Sweep57120432018-06-01 4:43:522463 days ago1527828232IN
0x6B641097...197683165
0 ETH0.0024996550
Transfer57120272018-06-01 4:40:442463 days ago1527828044IN
0x6B641097...197683165
0.2 ETH0.0004210220
Sweep51699712018-02-28 6:52:332556 days ago1519800753IN
0x6B641097...197683165
0 ETH0.0025028550
Transfer51699312018-02-28 6:41:392556 days ago1519800099IN
0x6B641097...197683165
0.12234829 ETH0.0002105110
Sweep46575362017-12-01 18:04:302645 days ago1512151470IN
0x6B641097...197683165
0 ETH0.0010011420
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
103299692020-06-24 17:54:241709 days ago1593021264
0x6B641097...197683165
0.06008058 ETH
103229292020-06-23 15:41:181710 days ago1592926878
0x6B641097...197683165
0.0600699 ETH
101689132020-05-30 19:03:411734 days ago1590865421
0x6B641097...197683165
0.57838807 ETH
87195112019-10-11 9:11:151966 days ago1570785075
0x6B641097...197683165
7.8169 ETH
82895132019-08-05 8:15:242033 days ago1564992924
0x6B641097...197683165
0.99268544 ETH
82590462019-07-31 14:52:472038 days ago1564584767
0x6B641097...197683165
0.85896448 ETH
77388892019-05-11 11:08:292119 days ago1557572909
0x6B641097...197683165
0.99983282 ETH
65157122018-10-14 20:59:442328 days ago1539550784
0x6B641097...197683165
0.25 ETH
63746122018-09-21 20:50:582351 days ago1537563058
0x6B641097...197683165
0.55 ETH
60196692018-07-24 4:20:502410 days ago1532406050
0x6B641097...197683165
0.2198 ETH
57120432018-06-01 4:43:522463 days ago1527828232
0x6B641097...197683165
0.2 ETH
51699712018-02-28 6:52:332556 days ago1519800753
0x6B641097...197683165
0.12234829 ETH
46575362017-12-01 18:04:302645 days ago1512151470
0x6B641097...197683165
0.613 ETH
46052162017-11-23 5:53:072653 days ago1511416387
0x6B641097...197683165
0.999 ETH
45029782017-11-06 19:21:432670 days ago1509996103
0x6B641097...197683165
0.26594874 ETH
44041272017-10-21 21:03:062686 days ago1508619786
0x6B641097...197683165
0.19197015 ETH
43817472017-10-18 6:55:492689 days ago1508309749
0x6B641097...197683165
0.09033663 ETH
43660932017-10-14 21:16:182693 days ago1508015778  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

API
[{"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.