ETH Price: $3,276.66 (-4.61%)

Contract

0x4EA02f1666E0a5b1C2375A9B445E5d56F45D4011
 

Overview

ETH Balance

0.025950069759188654 ETH

Eth Value

$85.03 (@ $3,276.66/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer79418542019-06-12 4:34:432047 days ago1560314083IN
0x4EA02f16...6F45D4011
0.02595006 ETH0.000021051
Sweep78971002019-06-05 4:33:272054 days ago1559709207IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78970862019-06-05 4:30:312054 days ago1559709031IN
0x4EA02f16...6F45D4011
0.05000241 ETH0.000021051
Sweep78849412019-06-03 6:44:102056 days ago1559544250IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78849262019-06-03 6:41:142056 days ago1559544074IN
0x4EA02f16...6F45D4011
0.05008749 ETH0.000021051
Sweep78763742019-06-01 22:28:132057 days ago1559428093IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78763472019-06-01 22:23:262057 days ago1559427806IN
0x4EA02f16...6F45D4011
0.05007791 ETH0.000021051
Sweep78677222019-05-31 14:01:062059 days ago1559311266IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78677032019-05-31 13:58:022059 days ago1559311082IN
0x4EA02f16...6F45D4011
0.05001318 ETH0.000021051
Sweep78588822019-05-30 4:43:542060 days ago1559191434IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78588642019-05-30 4:40:092060 days ago1559191209IN
0x4EA02f16...6F45D4011
0.05013424 ETH0.000021051
Sweep78491642019-05-28 16:41:392062 days ago1559061699IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78491462019-05-28 16:38:062062 days ago1559061486IN
0x4EA02f16...6F45D4011
0.05000657 ETH0.000021051
Sweep78406972019-05-27 8:45:522063 days ago1558946752IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78406802019-05-27 8:41:132063 days ago1558946473IN
0x4EA02f16...6F45D4011
0.05009417 ETH0.000021051
Sweep78299442019-05-25 16:41:052065 days ago1558802465IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78299282019-05-25 16:37:282065 days ago1558802248IN
0x4EA02f16...6F45D4011
0.05000665 ETH0.000021051
Sweep78217002019-05-24 10:01:422066 days ago1558692102IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78216782019-05-24 9:57:532066 days ago1558691873IN
0x4EA02f16...6F45D4011
0.05021709 ETH0.000021051
Sweep78129882019-05-23 1:07:062067 days ago1558573626IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78129732019-05-23 1:03:572067 days ago1558573437IN
0x4EA02f16...6F45D4011
0.0501212 ETH0.000021051
Sweep78036712019-05-21 14:03:592069 days ago1558447439IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer78036472019-05-21 14:00:452069 days ago1558447245IN
0x4EA02f16...6F45D4011
0.0501359 ETH0.000021051
Sweep77881702019-05-19 3:38:152071 days ago1558237095IN
0x4EA02f16...6F45D4011
0 ETH0.0024996550
Transfer77881542019-05-19 3:36:132071 days ago1558236973IN
0x4EA02f16...6F45D4011
0.0501234 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
78971002019-06-05 4:33:272054 days ago1559709207
0x4EA02f16...6F45D4011
0.05000241 ETH
78849412019-06-03 6:44:102056 days ago1559544250
0x4EA02f16...6F45D4011
0.0500875 ETH
78763742019-06-01 22:28:132057 days ago1559428093
0x4EA02f16...6F45D4011
0.05007792 ETH
78677222019-05-31 14:01:062059 days ago1559311266
0x4EA02f16...6F45D4011
0.05001318 ETH
78588822019-05-30 4:43:542060 days ago1559191434
0x4EA02f16...6F45D4011
0.05013424 ETH
78491642019-05-28 16:41:392062 days ago1559061699
0x4EA02f16...6F45D4011
0.05000658 ETH
78406972019-05-27 8:45:522063 days ago1558946752
0x4EA02f16...6F45D4011
0.05009417 ETH
78299442019-05-25 16:41:052065 days ago1558802465
0x4EA02f16...6F45D4011
0.05000666 ETH
78217002019-05-24 10:01:422066 days ago1558692102
0x4EA02f16...6F45D4011
0.05021709 ETH
78129882019-05-23 1:07:062067 days ago1558573626
0x4EA02f16...6F45D4011
0.05012121 ETH
78036712019-05-21 14:03:592069 days ago1558447439
0x4EA02f16...6F45D4011
0.05013591 ETH
77881702019-05-19 3:38:152071 days ago1558237095
0x4EA02f16...6F45D4011
0.0501234 ETH
77763302019-05-17 7:18:522073 days ago1558077532
0x4EA02f16...6F45D4011
0.05006896 ETH
77646102019-05-15 11:20:052075 days ago1557919205
0x4EA02f16...6F45D4011
0.05020529 ETH
77548012019-05-13 22:54:412076 days ago1557788081
0x4EA02f16...6F45D4011
0.05001882 ETH
77437052019-05-12 5:09:152078 days ago1557637755
0x4EA02f16...6F45D4011
0.05008598 ETH
77188712019-05-08 8:01:072082 days ago1557302467
0x4EA02f16...6F45D4011
0.0500742 ETH
77030812019-05-05 20:31:042084 days ago1557088264
0x4EA02f16...6F45D4011
0.05005769 ETH
76799192019-05-02 6:06:322088 days ago1556777192
0x4EA02f16...6F45D4011
0.05001139 ETH
76625762019-04-29 13:17:192091 days ago1556543839
0x4EA02f16...6F45D4011
0.05014559 ETH
76471122019-04-27 3:37:322093 days ago1556336252
0x4EA02f16...6F45D4011
0.0500604 ETH
76327832019-04-24 22:32:292095 days ago1556145149
0x4EA02f16...6F45D4011
0.05008975 ETH
76090612019-04-21 5:28:012099 days ago1555824481
0x4EA02f16...6F45D4011
0.05005759 ETH
75943062019-04-18 22:10:432101 days ago1555625443
0x4EA02f16...6F45D4011
0.05010528 ETH
75795252019-04-16 14:39:222104 days ago1555425562
0x4EA02f16...6F45D4011
0.05004667 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.