ETH Price: $1,958.15 (-2.03%)
 

Overview

ETH Balance

0.02435813123683011 ETH

Eth Value

$47.70 (@ $1,958.15/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer157256512022-10-11 15:05:471237 days ago1665500747IN
0x8d9bc2c8...68C572e1E
0.02435813 ETH0.0006013128.56475824
Sweep78109012019-05-22 17:16:042475 days ago1558545364IN
0x8d9bc2c8...68C572e1E
0 ETH0.0025028550
Transfer78108862019-05-22 17:11:212475 days ago1558545081IN
0x8d9bc2c8...68C572e1E
0.11016972 ETH0.000021051
Sweep77356872019-05-10 23:11:542487 days ago1557529914IN
0x8d9bc2c8...68C572e1E
0 ETH0.0025028550
Transfer77356692019-05-10 23:07:242487 days ago1557529644IN
0x8d9bc2c8...68C572e1E
3.01828581 ETH0.000021051
Sweep54343972018-04-13 17:38:392879 days ago1523641119IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer54343692018-04-13 17:32:532879 days ago1523640773IN
0x8d9bc2c8...68C572e1E
0.05004696 ETH0.000021051
Sweep54186492018-04-11 1:46:052882 days ago1523411165IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer54186122018-04-11 1:37:392882 days ago1523410659IN
0x8d9bc2c8...68C572e1E
0.05002314 ETH0.000021051
Sweep54018992018-04-08 7:15:452884 days ago1523171745IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer54018662018-04-08 7:06:522884 days ago1523171212IN
0x8d9bc2c8...68C572e1E
0.05002642 ETH0.000021051
Sweep53851832018-04-05 13:02:042887 days ago1522933324IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer53851072018-04-05 12:45:282887 days ago1522932328IN
0x8d9bc2c8...68C572e1E
0.05002912 ETH0.000021051
Sweep53680332018-04-02 16:39:412890 days ago1522687181IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer53680032018-04-02 16:29:352890 days ago1522686575IN
0x8d9bc2c8...68C572e1E
0.05005463 ETH0.000021051
Sweep53522092018-03-31 1:59:532893 days ago1522461593IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer53521822018-03-31 1:52:462893 days ago1522461166IN
0x8d9bc2c8...68C572e1E
0.05001032 ETH0.000021051
Sweep53367982018-03-28 11:27:112895 days ago1522236431IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer53367742018-03-28 11:21:012895 days ago1522236061IN
0x8d9bc2c8...68C572e1E
0.05007787 ETH0.000021051
Sweep53185642018-03-25 10:09:412898 days ago1521972581IN
0x8d9bc2c8...68C572e1E
0 ETH0.0024996550
Transfer53185322018-03-25 10:03:512898 days ago1521972231IN
0x8d9bc2c8...68C572e1E
0.05005067 ETH0.000021051
Sweep52914752018-03-20 21:34:242903 days ago1521581664IN
0x8d9bc2c8...68C572e1E
0 ETH0.0025028550
Transfer52914202018-03-20 21:21:012903 days ago1521580861IN
0x8d9bc2c8...68C572e1E
0.10011297 ETH0.00008424

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-78109012019-05-22 17:16:042475 days ago1558545364
0x8d9bc2c8...68C572e1E
0.11016973 ETH
-77356872019-05-10 23:11:542487 days ago1557529914
0x8d9bc2c8...68C572e1E
3.01828582 ETH
Transfer54343972018-04-13 17:38:392879 days ago1523641119
0x8d9bc2c8...68C572e1E
0.05004696 ETH
Transfer54186492018-04-11 1:46:052882 days ago1523411165
0x8d9bc2c8...68C572e1E
0.05002315 ETH
Transfer54018992018-04-08 7:15:452884 days ago1523171745
0x8d9bc2c8...68C572e1E
0.05002643 ETH
Transfer53851832018-04-05 13:02:042887 days ago1522933324
0x8d9bc2c8...68C572e1E
0.05002912 ETH
Transfer53680332018-04-02 16:39:412890 days ago1522687181
0x8d9bc2c8...68C572e1E
0.05005464 ETH
Transfer53522092018-03-31 1:59:532893 days ago1522461593
0x8d9bc2c8...68C572e1E
0.05001032 ETH
Transfer53367982018-03-28 11:27:112895 days ago1522236431
0x8d9bc2c8...68C572e1E
0.05007788 ETH
Transfer53185642018-03-25 10:09:412898 days ago1521972581
0x8d9bc2c8...68C572e1E
0.05005067 ETH
Transfer52914752018-03-20 21:34:242903 days ago1521581664
0x8d9bc2c8...68C572e1E
0.10011297 ETH
Transfer48364672018-01-01 15:17:232981 days ago1514819843  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.