ETH Price: $2,712.88 (+2.33%)
Gas: 0.87 Gwei

Contract

0x52092c90a1e915B2951b187F59f8C207B9976F1f
 

Overview

ETH Balance

0.024475989052482543 ETH

Eth Value

$66.40 (@ $2,712.88/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer88770752019-11-05 10:39:361924 days ago1572950376IN
0x52092c90...7B9976F1f
0.02447598 ETH0.000021051
Sweep88335912019-10-29 10:39:481931 days ago1572345588IN
0x52092c90...7B9976F1f
0 ETH0.0010984322
Transfer88335762019-10-29 10:37:381931 days ago1572345458IN
0x52092c90...7B9976F1f
0.05003967 ETH0.000021051
Sweep88191152019-10-27 2:50:571934 days ago1572144657IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer88190792019-10-27 2:43:051934 days ago1572144185IN
0x52092c90...7B9976F1f
0.05006148 ETH0.000021051
Sweep88055162019-10-24 22:10:261936 days ago1571955026IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer88054982019-10-24 22:05:311936 days ago1571954731IN
0x52092c90...7B9976F1f
0.05003094 ETH0.000021051
Sweep87943802019-10-23 3:43:371938 days ago1571802217IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87943582019-10-23 3:39:191938 days ago1571801959IN
0x52092c90...7B9976F1f
0.05016908 ETH0.000021051
Sweep87797062019-10-20 20:21:341940 days ago1571602894IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87796832019-10-20 20:16:091940 days ago1571602569IN
0x52092c90...7B9976F1f
0.05008725 ETH0.000021051
Sweep87698642019-10-19 7:09:051942 days ago1571468945IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87698412019-10-19 7:04:301942 days ago1571468670IN
0x52092c90...7B9976F1f
0.05009862 ETH0.000021051
Sweep87571972019-10-17 7:14:341944 days ago1571296474IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87571742019-10-17 7:09:321944 days ago1571296172IN
0x52092c90...7B9976F1f
0.05020703 ETH0.000021051
Sweep87436262019-10-15 3:56:301946 days ago1571111790IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87436042019-10-15 3:52:191946 days ago1571111539IN
0x52092c90...7B9976F1f
0.05009181 ETH0.000021051
Sweep87303672019-10-13 2:05:471948 days ago1570932347IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87303412019-10-13 2:01:441948 days ago1570932104IN
0x52092c90...7B9976F1f
0.05017846 ETH0.000021051
Sweep87199782019-10-11 10:56:521949 days ago1570791412IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87199482019-10-11 10:51:331949 days ago1570791093IN
0x52092c90...7B9976F1f
0.05003612 ETH0.000021051
Sweep87080172019-10-09 13:44:141951 days ago1570628654IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer87079882019-10-09 13:38:061951 days ago1570628286IN
0x52092c90...7B9976F1f
0.05002761 ETH0.000021051
Sweep86972822019-10-07 21:12:051953 days ago1570482725IN
0x52092c90...7B9976F1f
0 ETH0.0010998422
Transfer86972492019-10-07 21:07:101953 days ago1570482430IN
0x52092c90...7B9976F1f
0.05009561 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
88335912019-10-29 10:39:481931 days ago1572345588
0x52092c90...7B9976F1f
0.05003968 ETH
88191152019-10-27 2:50:571934 days ago1572144657
0x52092c90...7B9976F1f
0.05006148 ETH
88055162019-10-24 22:10:261936 days ago1571955026
0x52092c90...7B9976F1f
0.05003095 ETH
87943802019-10-23 3:43:371938 days ago1571802217
0x52092c90...7B9976F1f
0.05016909 ETH
87797062019-10-20 20:21:341940 days ago1571602894
0x52092c90...7B9976F1f
0.05008725 ETH
87698642019-10-19 7:09:051942 days ago1571468945
0x52092c90...7B9976F1f
0.05009863 ETH
87571972019-10-17 7:14:341944 days ago1571296474
0x52092c90...7B9976F1f
0.05020704 ETH
87436262019-10-15 3:56:301946 days ago1571111790
0x52092c90...7B9976F1f
0.05009181 ETH
87303672019-10-13 2:05:471948 days ago1570932347
0x52092c90...7B9976F1f
0.05017846 ETH
87199782019-10-11 10:56:521949 days ago1570791412
0x52092c90...7B9976F1f
0.05003613 ETH
87080172019-10-09 13:44:141951 days ago1570628654
0x52092c90...7B9976F1f
0.05002761 ETH
86972822019-10-07 21:12:051953 days ago1570482725
0x52092c90...7B9976F1f
0.05009562 ETH
86886422019-10-06 13:03:311954 days ago1570367011
0x52092c90...7B9976F1f
0.05000062 ETH
86798192019-10-05 3:56:481956 days ago1570247808
0x52092c90...7B9976F1f
0.05004677 ETH
86684862019-10-03 9:33:451958 days ago1570095225
0x52092c90...7B9976F1f
0.05011116 ETH
86565442019-10-01 12:39:061959 days ago1569933546
0x52092c90...7B9976F1f
0.05022069 ETH
86484092019-09-30 6:08:141961 days ago1569823694
0x52092c90...7B9976F1f
0.05013039 ETH
86365792019-09-28 9:43:311963 days ago1569663811
0x52092c90...7B9976F1f
0.05003202 ETH
86270512019-09-26 21:56:151964 days ago1569534975
0x52092c90...7B9976F1f
0.05022612 ETH
86184692019-09-25 13:50:441965 days ago1569419444
0x52092c90...7B9976F1f
0.05012895 ETH
86089662019-09-24 1:49:281967 days ago1569289768
0x52092c90...7B9976F1f
0.05021783 ETH
86015532019-09-22 22:00:121968 days ago1569189612
0x52092c90...7B9976F1f
0.05009008 ETH
85940342019-09-21 17:46:481969 days ago1569088008
0x52092c90...7B9976F1f
0.05003009 ETH
85858732019-09-20 11:22:121970 days ago1568978532
0x52092c90...7B9976F1f
0.05000831 ETH
85805832019-09-19 15:20:371971 days ago1568906437
0x52092c90...7B9976F1f
0.05009857 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.