ETH Price: $2,337.34 (-1.00%)

Contract

0x4D1E5BCDCB63A06cd623eb22907C1cC4b9BdBD57
 

Overview

ETH Balance

0.000000009777778777 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep76292902019-04-24 9:15:322519 days ago1556097332IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0024996550
Transfer76292732019-04-24 9:12:242519 days ago1556097144IN
0x4D1E5BCD...4b9BdBD57
5.95 ETH0.0003157615
Transfer76290762019-04-24 8:26:082519 days ago1556094368IN
0x4D1E5BCD...4b9BdBD57
5.99999999 ETH0.00025212
Sweep76105192019-04-21 10:49:512522 days ago1555843791IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0025028550
Transfer76105012019-04-21 10:45:332522 days ago1555843533IN
0x4D1E5BCD...4b9BdBD57
7.79010584 ETH0.000063153
Sweep68675382018-12-11 15:07:232653 days ago1544540843IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0025028550
Transfer68675192018-12-11 15:02:202653 days ago1544540540IN
0x4D1E5BCD...4b9BdBD57
10.01176283 ETH0.0008630941
Transfer68674422018-12-11 14:46:342653 days ago1544539594IN
0x4D1E5BCD...4b9BdBD57
10.01248692 ETH0.00086141
Sweep67964692018-11-29 21:05:342665 days ago1543525534IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0025028550
Transfer67964552018-11-29 21:01:352665 days ago1543525295IN
0x4D1E5BCD...4b9BdBD57
5.15449503 ETH0.0002105110
Sweep62639272018-09-03 10:44:462752 days ago1535971486IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0025028550
Transfer62639112018-09-03 10:40:232752 days ago1535971223IN
0x4D1E5BCD...4b9BdBD57
4.3766921 ETH0.0007367835
Sweep57702082018-06-11 12:27:502836 days ago1528720070IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0025028550
Transfer57701892018-06-11 12:23:202836 days ago1528719800IN
0x4D1E5BCD...4b9BdBD57
0.135 ETH0.0004420721
Transfer57662672018-06-10 19:42:102837 days ago1528659730IN
0x4D1E5BCD...4b9BdBD57
0.14022419 ETH0.00044121
Sweep56847832018-05-27 9:00:032851 days ago1527411603IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0024996550
Transfer56847642018-05-27 8:55:052851 days ago1527411305IN
0x4D1E5BCD...4b9BdBD57
0.69 ETH0.0008630941
Sweep56625232018-05-23 10:22:312855 days ago1527070951IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0025028550
Transfer56624932018-05-23 10:12:592855 days ago1527070379IN
0x4D1E5BCD...4b9BdBD57
2.13458356 ETH0.0008630941
Sweep52783432018-03-18 16:48:532921 days ago1521391733IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0023336550
Sweep52780362018-03-18 15:32:142921 days ago1521387134IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0024996550
Transfer52780272018-03-18 15:29:502921 days ago1521386990IN
0x4D1E5BCD...4b9BdBD57
2.3 ETH0.0008630941
Sweep52780012018-03-18 15:22:562921 days ago1521386576IN
0x4D1E5BCD...4b9BdBD57
0 ETH0.0024996550
Transfer52779542018-03-18 15:13:232921 days ago1521386003IN
0x4D1E5BCD...4b9BdBD57
0.13 ETH0.0008630941

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-76292902019-04-24 9:15:322519 days ago1556097332
0x4D1E5BCD...4b9BdBD57
5.95 ETH
-76105192019-04-21 10:49:512522 days ago1555843791
0x4D1E5BCD...4b9BdBD57
7.79010584 ETH
-68675382018-12-11 15:07:232653 days ago1544540843
0x4D1E5BCD...4b9BdBD57
10.01176283 ETH
Transfer67964692018-11-29 21:05:342665 days ago1543525534
0x4D1E5BCD...4b9BdBD57
5.15449503 ETH
Transfer62639272018-09-03 10:44:462752 days ago1535971486
0x4D1E5BCD...4b9BdBD57
4.3766921 ETH
Transfer57702082018-06-11 12:27:502836 days ago1528720070
0x4D1E5BCD...4b9BdBD57
0.135 ETH
Transfer56847832018-05-27 9:00:032851 days ago1527411603
0x4D1E5BCD...4b9BdBD57
0.69 ETH
Transfer56625232018-05-23 10:22:312855 days ago1527070951
0x4D1E5BCD...4b9BdBD57
2.13458356 ETH
Transfer52780362018-03-18 15:32:142921 days ago1521387134
0x4D1E5BCD...4b9BdBD57
2.3 ETH
Transfer52780012018-03-18 15:22:562921 days ago1521386576
0x4D1E5BCD...4b9BdBD57
0.13 ETH
Transfer49807252018-01-27 7:54:472971 days ago1517039687  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.