ETH Price: $2,141.21 (+8.73%)
 

Overview

ETH Balance

0.000000007323555403 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep72647352019-02-25 5:44:292564 days ago1551073469IN
0x89D49008...101a67DEF
0 ETH0.0024996550
Transfer72647172019-02-25 5:39:152564 days ago1551073155IN
0x89D49008...101a67DEF
0.06353031 ETH0.000021051
Sweep72348742019-02-18 5:46:532571 days ago1550468813IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer72348512019-02-18 5:41:042571 days ago1550468464IN
0x89D49008...101a67DEF
0.11000737 ETH0.000021051
Sweep72166022019-02-13 20:35:492575 days ago1550090149IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer72165822019-02-13 20:29:582575 days ago1550089798IN
0x89D49008...101a67DEF
0.11008867 ETH0.000021051
Sweep71983172019-02-09 14:35:212580 days ago1549722921IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer71983042019-02-09 14:31:162580 days ago1549722676IN
0x89D49008...101a67DEF
0.11003471 ETH0.000021051
Sweep71802182019-02-05 22:08:012583 days ago1549404481IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer71802032019-02-05 22:03:272583 days ago1549404207IN
0x89D49008...101a67DEF
0.11007908 ETH0.000021051
Sweep71643512019-02-02 16:34:412586 days ago1549125281IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer71643262019-02-02 16:27:432586 days ago1549124863IN
0x89D49008...101a67DEF
0.11006564 ETH0.000021051
Sweep71518962019-01-31 3:28:242589 days ago1548905304IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer71518742019-01-31 3:22:112589 days ago1548904931IN
0x89D49008...101a67DEF
0.11002265 ETH0.000021051
Transfer71399122019-01-28 16:41:082591 days ago1548693668IN
0x89D49008...101a67DEF
0.01011613 ETH0.000021051
Sweep70761932019-01-16 13:46:452604 days ago1547646405IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer70761702019-01-16 13:40:442604 days ago1547646044IN
0x89D49008...101a67DEF
0.09536487 ETH0.000021051
Sweep70370792019-01-09 13:33:382611 days ago1547040818IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer70370652019-01-09 13:31:262611 days ago1547040686IN
0x89D49008...101a67DEF
0.11012775 ETH0.000021051
Transfer70195422019-01-06 10:10:422614 days ago1546769442IN
0x89D49008...101a67DEF
0.03564433 ETH0.000021051
Sweep69792952018-12-30 10:12:112621 days ago1546164731IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer69792752018-12-30 10:07:382621 days ago1546164458IN
0x89D49008...101a67DEF
0.1105342 ETH0.000021051
Sweep69626332018-12-27 14:48:072624 days ago1545922087IN
0x89D49008...101a67DEF
0 ETH0.0025028550
Transfer69626112018-12-27 14:43:022624 days ago1545921782IN
0x89D49008...101a67DEF
0.11033249 ETH0.000021051
Sweep69528192018-12-25 23:00:212625 days ago1545778821IN
0x89D49008...101a67DEF
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-72647352019-02-25 5:44:292564 days ago1551073469
0x89D49008...101a67DEF
0.06353031 ETH
-72348742019-02-18 5:46:532571 days ago1550468813
0x89D49008...101a67DEF
0.11000738 ETH
-72166022019-02-13 20:35:492575 days ago1550090149
0x89D49008...101a67DEF
0.11008867 ETH
-71983172019-02-09 14:35:212580 days ago1549722921
0x89D49008...101a67DEF
0.11003472 ETH
-71802182019-02-05 22:08:012583 days ago1549404481
0x89D49008...101a67DEF
0.11007908 ETH
-71643512019-02-02 16:34:412586 days ago1549125281
0x89D49008...101a67DEF
0.11006565 ETH
-71518962019-01-31 3:28:242589 days ago1548905304
0x89D49008...101a67DEF
0.12013878 ETH
-70761932019-01-16 13:46:452604 days ago1547646405
0x89D49008...101a67DEF
0.09536488 ETH
-70370792019-01-09 13:33:382611 days ago1547040818
0x89D49008...101a67DEF
0.14577209 ETH
-69792952018-12-30 10:12:112621 days ago1546164731
0x89D49008...101a67DEF
0.1105342 ETH
-69626332018-12-27 14:48:072624 days ago1545922087
0x89D49008...101a67DEF
0.1103325 ETH
-69528192018-12-25 23:00:212625 days ago1545778821
0x89D49008...101a67DEF
0.11011615 ETH
-69410112018-12-23 23:13:322627 days ago1545606812
0x89D49008...101a67DEF
0.11022272 ETH
-69301692018-12-22 2:56:302629 days ago1545447390
0x89D49008...101a67DEF
0.11008154 ETH
-69209022018-12-20 13:08:242631 days ago1545311304
0x89D49008...101a67DEF
0.12029006 ETH
-68557342018-12-09 16:40:052641 days ago1544373605
0x89D49008...101a67DEF
0.05967393 ETH
-68134752018-12-02 16:38:452648 days ago1543768725
0x89D49008...101a67DEF
0.11019524 ETH
-68031622018-11-30 23:36:072650 days ago1543620967
0x89D49008...101a67DEF
0.11012947 ETH
Transfer67923422018-11-29 4:45:342652 days ago1543466734
0x89D49008...101a67DEF
0.11024541 ETH
Transfer67543292018-11-22 22:56:072658 days ago1542927367
0x89D49008...101a67DEF
0.11015735 ETH
Transfer67433692018-11-21 3:42:342660 days ago1542771754
0x89D49008...101a67DEF
0.11040379 ETH
Transfer67264252018-11-18 8:42:032663 days ago1542530523
0x89D49008...101a67DEF
0.11050376 ETH
Transfer67152782018-11-16 12:47:592665 days ago1542372479
0x89D49008...101a67DEF
0.1435867 ETH
Transfer66462982018-11-05 5:53:052676 days ago1541397185
0x89D49008...101a67DEF
0.11019142 ETH
Transfer66348202018-11-03 8:48:492678 days ago1541234929
0x89D49008...101a67DEF
0.1100457 ETH
View All Internal Transactions
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.