ETH Price: $2,669.17 (+10.11%)
Gas: 1 Gwei

Contract

0x51603254ec6BF37D11E41E078F0D88a20D73b27b
 

Overview

ETH Balance

0.000000007 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep96315682020-03-08 15:28:141614 days ago1583681294IN
0x51603254...20D73b27b
0 ETH0.0011994622
Sweep93914462020-01-31 17:43:251651 days ago1580492605IN
0x51603254...20D73b27b
0 ETH0.001248822
Sweep92664652020-01-12 13:45:571670 days ago1578836757IN
0x51603254...20D73b27b
0 ETH0.001253422
Transfer92664622020-01-12 13:45:311670 days ago1578836731IN
0x51603254...20D73b27b
3.6 ETH0.0008630941
Transfer92664472020-01-12 13:41:371670 days ago1578836497IN
0x51603254...20D73b27b
3.6 ETH0.0004220
Transfer92664302020-01-12 13:37:451670 days ago1578836265IN
0x51603254...20D73b27b
3.6 ETH0.0001899
Transfer92664052020-01-12 13:32:081670 days ago1578835928IN
0x51603254...20D73b27b
3.6 ETH0.0000633
Sweep92452572020-01-09 8:00:221673 days ago1578556822IN
0x51603254...20D73b27b
0 ETH0.001253422
Transfer92452382020-01-09 7:56:321673 days ago1578556592IN
0x51603254...20D73b27b
3.75 ETH0.0002947114
Transfer92452012020-01-09 7:48:511673 days ago1578556131IN
0x51603254...20D73b27b
3.75 ETH0.0002110
Transfer92451642020-01-09 7:38:431673 days ago1578555523IN
0x51603254...20D73b27b
7.5 ETH0.00037818
Sweep88099912019-10-25 15:36:591749 days ago1572017819IN
0x51603254...20D73b27b
0 ETH0.0010723422
Sweep87657702019-10-18 15:48:211756 days ago1571413701IN
0x51603254...20D73b27b
0 ETH0.0010998422
Transfer87657442019-10-18 15:43:161756 days ago1571413396IN
0x51603254...20D73b27b
3 ETH0.000021051
Sweep87656432019-10-18 15:19:191756 days ago1571411959IN
0x51603254...20D73b27b
0 ETH0.0010998422
Transfer87656252019-10-18 15:15:451756 days ago1571411745IN
0x51603254...20D73b27b
1 ETH0.000031571.5
Transfer86387542019-09-28 17:54:061776 days ago1569693246IN
0x51603254...20D73b27b
0 ETH0.0005262725
Sweep86386472019-09-28 17:32:501776 days ago1569691970IN
0x51603254...20D73b27b
0 ETH0.0014897224
Sweep86196352019-09-25 18:14:281779 days ago1569435268IN
0x51603254...20D73b27b
0 ETH0.0016113234.5
Sweep83534682019-08-15 6:20:551820 days ago1565850055IN
0x51603254...20D73b27b
0 ETH0.0010998422
Transfer83534472019-08-15 6:17:001820 days ago1565849820IN
0x51603254...20D73b27b
0.5 ETH0.0004378620.8
Sweep83420052019-08-13 11:46:291822 days ago1565696789IN
0x51603254...20D73b27b
0 ETH0.0010998422
Transfer83419872019-08-13 11:43:071822 days ago1565696587IN
0x51603254...20D73b27b
0.75 ETH0.000177888.45
Sweep82239122019-07-26 4:04:071841 days ago1564113847IN
0x51603254...20D73b27b
0 ETH0.0010998422
Transfer82238222019-07-26 3:41:401841 days ago1564112500IN
0x51603254...20D73b27b
4.5 ETH0.00020849.9
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
92664652020-01-12 13:45:571670 days ago1578836757
0x51603254...20D73b27b
3.6 ETH
92452572020-01-09 8:00:221673 days ago1578556822
0x51603254...20D73b27b
3.75 ETH
87657702019-10-18 15:48:211756 days ago1571413701
0x51603254...20D73b27b
3 ETH
87656432019-10-18 15:19:191756 days ago1571411959
0x51603254...20D73b27b
1 ETH
83534682019-08-15 6:20:551820 days ago1565850055
0x51603254...20D73b27b
0.5 ETH
83420052019-08-13 11:46:291822 days ago1565696789
0x51603254...20D73b27b
0.75 ETH
82239122019-07-26 4:04:071841 days ago1564113847
0x51603254...20D73b27b
4.5 ETH
82196672019-07-25 11:59:381841 days ago1564055978
0x51603254...20D73b27b
0.5 ETH
80084962019-06-22 14:39:151874 days ago1561214355
0x51603254...20D73b27b
0.16 ETH
79428742019-06-12 8:26:121884 days ago1560327972
0x51603254...20D73b27b
0.85 ETH
79308362019-06-10 11:07:081886 days ago1560164828
0x51603254...20D73b27b
3 ETH
78865872019-06-03 13:03:371893 days ago1559567017
0x51603254...20D73b27b
0.5 ETH
78551792019-05-29 14:59:271898 days ago1559141967
0x51603254...20D73b27b
0.35 ETH
78169082019-05-23 16:01:451904 days ago1558627305
0x51603254...20D73b27b
0.48 ETH
77594562019-05-14 16:11:471913 days ago1557850307
0x51603254...20D73b27b
0.8 ETH
76943812019-05-04 12:00:401923 days ago1556971240
0x51603254...20D73b27b
0.6838 ETH
76940162019-05-04 10:37:171923 days ago1556966237
0x51603254...20D73b27b
0.5 ETH
76684912019-04-30 11:19:571927 days ago1556623197
0x51603254...20D73b27b
0.6 ETH
75805462019-04-16 18:29:481941 days ago1555439388
0x51603254...20D73b27b
0.37 ETH
75082712019-04-05 13:16:291952 days ago1554470189
0x51603254...20D73b27b
0.75 ETH
75064192019-04-05 6:11:131952 days ago1554444673
0x51603254...20D73b27b
3 ETH
74763442019-03-31 13:24:331957 days ago1554038673
0x51603254...20D73b27b
1 ETH
74701332019-03-30 14:09:501958 days ago1553954990
0x51603254...20D73b27b
0.92 ETH
74563232019-03-28 9:46:151960 days ago1553766375
0x51603254...20D73b27b
1 ETH
73095282019-03-05 13:12:151983 days ago1551791535
0x51603254...20D73b27b
0.8 ETH
View All Internal Transactions
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

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