ETH Price: $1,952.75 (-1.26%)

Contract

0x501859948C865445f423bf1dD00A7efa29ff95D4
 

Overview

ETH Balance

0.0000000009172848 ETH

Eth Value

Less Than $0.01 (@ $1,952.75/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep58783712018-06-30 3:02:382808 days ago1530327758IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer58783452018-06-30 2:57:042808 days ago1530327424IN
0x50185994...a29ff95D4
0.05002791 ETH0.000021051
Sweep58299552018-06-21 18:52:312816 days ago1529607151IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer58299062018-06-21 18:42:362816 days ago1529606556IN
0x50185994...a29ff95D4
0.05007504 ETH0.000021051
Sweep57962162018-06-16 1:02:592822 days ago1529110979IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer57962002018-06-16 0:58:082822 days ago1529110688IN
0x50185994...a29ff95D4
0.05000871 ETH0.000021051
Sweep57567642018-06-09 3:03:302829 days ago1528513410IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer57567382018-06-09 2:57:372829 days ago1528513057IN
0x50185994...a29ff95D4
0.05027103 ETH0.000021051
Sweep56414262018-05-19 16:30:192849 days ago1526747419IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer56414032018-05-19 16:25:342849 days ago1526747134IN
0x50185994...a29ff95D4
0.05009411 ETH0.000021051
Sweep56095592018-05-14 1:13:022855 days ago1526260382IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer56092902018-05-14 0:06:062855 days ago1526256366IN
0x50185994...a29ff95D4
0.05013116 ETH0.000021051
Sweep55758552018-05-08 4:09:032861 days ago1525752543IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer55758252018-05-08 4:02:022861 days ago1525752122IN
0x50185994...a29ff95D4
0.05016506 ETH0.000021051
Sweep55428412018-05-02 9:51:572866 days ago1525254717IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer55428182018-05-02 9:47:162866 days ago1525254436IN
0x50185994...a29ff95D4
0.05006326 ETH0.000021051
Sweep55117992018-04-26 23:42:482872 days ago1524786168IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer55117732018-04-26 23:37:232872 days ago1524785843IN
0x50185994...a29ff95D4
0.05005603 ETH0.000021051
Sweep54796112018-04-21 11:03:252877 days ago1524308605IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer54795902018-04-21 10:58:032877 days ago1524308283IN
0x50185994...a29ff95D4
0.0500695 ETH0.000021051
Sweep54507392018-04-16 11:49:502882 days ago1523879390IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer54507072018-04-16 11:41:322882 days ago1523878892IN
0x50185994...a29ff95D4
0.05007058 ETH0.000021051
Sweep54191372018-04-11 3:41:212888 days ago1523418081IN
0x50185994...a29ff95D4
0 ETH0.0024996550
Transfer54190952018-04-11 3:32:452888 days ago1523417565IN
0x50185994...a29ff95D4
0.05026419 ETH0.000021051
Sweep53863802018-04-05 17:59:552893 days ago1522951195IN
0x50185994...a29ff95D4
0 ETH0.0024996550
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer58783712018-06-30 3:02:382808 days ago1530327758
0x50185994...a29ff95D4
0.05002792 ETH
Transfer58299552018-06-21 18:52:312816 days ago1529607151
0x50185994...a29ff95D4
0.05007505 ETH
Transfer57962162018-06-16 1:02:592822 days ago1529110979
0x50185994...a29ff95D4
0.05000871 ETH
Transfer57567642018-06-09 3:03:302829 days ago1528513410
0x50185994...a29ff95D4
0.05027104 ETH
Transfer56414262018-05-19 16:30:192849 days ago1526747419
0x50185994...a29ff95D4
0.05009411 ETH
Transfer56095592018-05-14 1:13:022855 days ago1526260382
0x50185994...a29ff95D4
0.05013117 ETH
Transfer55758552018-05-08 4:09:032861 days ago1525752543
0x50185994...a29ff95D4
0.05016506 ETH
Transfer55428412018-05-02 9:51:572866 days ago1525254717
0x50185994...a29ff95D4
0.05006326 ETH
Transfer55117992018-04-26 23:42:482872 days ago1524786168
0x50185994...a29ff95D4
0.05005603 ETH
Transfer54796112018-04-21 11:03:252877 days ago1524308605
0x50185994...a29ff95D4
0.0500695 ETH
Transfer54507392018-04-16 11:49:502882 days ago1523879390
0x50185994...a29ff95D4
0.05007059 ETH
Transfer54191372018-04-11 3:41:212888 days ago1523418081
0x50185994...a29ff95D4
0.05026419 ETH
Transfer53863802018-04-05 17:59:552893 days ago1522951195
0x50185994...a29ff95D4
0.05004629 ETH
Transfer53528362018-03-31 4:35:412899 days ago1522470941
0x50185994...a29ff95D4
0.05001408 ETH
Transfer53213842018-03-25 21:18:482904 days ago1522012728
0x50185994...a29ff95D4
0.05019581 ETH
Transfer52708872018-03-17 10:38:282912 days ago1521283108
0x50185994...a29ff95D4
0.05002054 ETH
Transfer51797212018-03-01 22:53:342928 days ago1519944814
0x50185994...a29ff95D4
0.05016451 ETH
Transfer51505582018-02-24 23:26:102933 days ago1519514770
0x50185994...a29ff95D4
0.05003053 ETH
Transfer51211522018-02-19 23:01:122938 days ago1519081272
0x50185994...a29ff95D4
0.05001706 ETH
Transfer50909392018-02-14 21:33:332943 days ago1518644013
0x50185994...a29ff95D4
0.05009601 ETH
Transfer50623962018-02-10 2:23:142948 days ago1518229394
0x50185994...a29ff95D4
0.05016752 ETH
Transfer47688412017-12-21 2:47:282999 days ago1513824448
0x50185994...a29ff95D4
0.11306241 ETH
Transfer47139662017-12-11 12:14:593008 days ago1512994499  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.