ETH Price: $2,288.51 (+1.04%)

Contract

0xf60f0aEF47a0417E8f83C9853D0A555E49EfD481
 

Overview

ETH Balance

0.005314481456220291 ETH

Eth Value

$12.16 (@ $2,288.51/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer157126442022-10-09 19:31:47698 days ago1665343907IN
0xf60f0aEF...E49EfD481
0.00531447 ETH0.0007650336.34220473
Sweep118221032021-02-09 11:56:511306 days ago1612871811IN
0xf60f0aEF...E49EfD481
0 ETH0.00872554153.12000028
Transfer118220732021-02-09 11:50:351306 days ago1612871435IN
0xf60f0aEF...E49EfD481
0.10016436 ETH0.000021051
Sweep118098862021-02-07 14:40:121308 days ago1612708812IN
0xf60f0aEF...E49EfD481
0 ETH0.00806907141.60000175
Transfer118098652021-02-07 14:35:461308 days ago1612708546IN
0xf60f0aEF...E49EfD481
0.10043518 ETH0.000021051
Sweep117989502021-02-05 22:27:191309 days ago1612564039IN
0xf60f0aEF...E49EfD481
0 ETH0.01258228220.8
Transfer117989292021-02-05 22:22:171309 days ago1612563737IN
0xf60f0aEF...E49EfD481
0.10020043 ETH0.000021051
Sweep117908522021-02-04 16:22:201311 days ago1612455740IN
0xf60f0aEF...E49EfD481
0 ETH0.01456741255.636
Transfer117908242021-02-04 16:16:561311 days ago1612455416IN
0xf60f0aEF...E49EfD481
0.10089879 ETH0.000021051
Sweep117815722021-02-03 6:06:011312 days ago1612332361IN
0xf60f0aEF...E49EfD481
0 ETH0.0075904133.2
Transfer117815562021-02-03 6:01:201312 days ago1612332080IN
0xf60f0aEF...E49EfD481
0.1003342 ETH0.000021051
Sweep117714512021-02-01 16:39:481314 days ago1612197588IN
0xf60f0aEF...E49EfD481
0 ETH0.00991539174
Transfer117714262021-02-01 16:35:031314 days ago1612197303IN
0xf60f0aEF...E49EfD481
0.10035175 ETH0.000021051
Sweep117602462021-01-30 23:46:341315 days ago1612050394IN
0xf60f0aEF...E49EfD481
0 ETH0.0075904133.2
Transfer117602262021-01-30 23:41:011315 days ago1612050061IN
0xf60f0aEF...E49EfD481
0.10001641 ETH0.000021051
Sweep117491782021-01-29 6:27:361317 days ago1611901656IN
0xf60f0aEF...E49EfD481
0 ETH0.0054021794.80000175
Transfer117491612021-01-29 6:22:301317 days ago1611901350IN
0xf60f0aEF...E49EfD481
0.10001259 ETH0.000021051
Sweep117353022021-01-27 2:59:391319 days ago1611716379IN
0xf60f0aEF...E49EfD481
0 ETH0.0031455755.20000175
Transfer117352872021-01-27 2:56:171319 days ago1611716177IN
0xf60f0aEF...E49EfD481
0.10011179 ETH0.000021051
Sweep117235582021-01-25 7:47:311321 days ago1611560851IN
0xf60f0aEF...E49EfD481
0 ETH0.004923586.4
Transfer117235402021-01-25 7:42:301321 days ago1611560550IN
0xf60f0aEF...E49EfD481
0.10011113 ETH0.000021051
Sweep117126992021-01-23 15:44:141323 days ago1611416654IN
0xf60f0aEF...E49EfD481
0 ETH0.0045132179.20000175
Transfer117126812021-01-23 15:40:061323 days ago1611416406IN
0xf60f0aEF...E49EfD481
0.10003346 ETH0.000021051
Sweep117010782021-01-21 20:52:221324 days ago1611262342IN
0xf60f0aEF...E49EfD481
0 ETH0.0038293967.2
Transfer117010542021-01-21 20:46:421324 days ago1611262002IN
0xf60f0aEF...E49EfD481
0.10021071 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
118221032021-02-09 11:56:511306 days ago1612871811
0xf60f0aEF...E49EfD481
0.10016436 ETH
118098862021-02-07 14:40:121308 days ago1612708812
0xf60f0aEF...E49EfD481
0.10043519 ETH
117989502021-02-05 22:27:191309 days ago1612564039
0xf60f0aEF...E49EfD481
0.10020044 ETH
117908522021-02-04 16:22:201311 days ago1612455740
0xf60f0aEF...E49EfD481
0.10089879 ETH
117815722021-02-03 6:06:011312 days ago1612332361
0xf60f0aEF...E49EfD481
0.1003342 ETH
117714512021-02-01 16:39:481314 days ago1612197588
0xf60f0aEF...E49EfD481
0.10035176 ETH
117602462021-01-30 23:46:341315 days ago1612050394
0xf60f0aEF...E49EfD481
0.10001642 ETH
117491782021-01-29 6:27:361317 days ago1611901656
0xf60f0aEF...E49EfD481
0.10001259 ETH
117353022021-01-27 2:59:391319 days ago1611716379
0xf60f0aEF...E49EfD481
0.1001118 ETH
117235582021-01-25 7:47:311321 days ago1611560851
0xf60f0aEF...E49EfD481
0.10011113 ETH
117126992021-01-23 15:44:141323 days ago1611416654
0xf60f0aEF...E49EfD481
0.10003346 ETH
117010782021-01-21 20:52:221324 days ago1611262342
0xf60f0aEF...E49EfD481
0.10021072 ETH
116907452021-01-20 6:48:441326 days ago1611125324
0xf60f0aEF...E49EfD481
0.10012007 ETH
116817062021-01-18 21:38:031327 days ago1611005883
0xf60f0aEF...E49EfD481
0.10020651 ETH
116707362021-01-17 5:09:241329 days ago1610860164
0xf60f0aEF...E49EfD481
0.10058266 ETH
116620132021-01-15 20:51:471330 days ago1610743907
0xf60f0aEF...E49EfD481
0.1002412 ETH
116526772021-01-14 10:28:181332 days ago1610620098
0xf60f0aEF...E49EfD481
0.10014426 ETH
116423622021-01-12 20:33:321333 days ago1610483612
0xf60f0aEF...E49EfD481
1.28944671 ETH
116422912021-01-12 20:19:491333 days ago1610482789
0xf60f0aEF...E49EfD481
1.195 ETH
116410222021-01-12 15:51:101334 days ago1610466670
0xf60f0aEF...E49EfD481
0.10005364 ETH
116345092021-01-11 15:43:221335 days ago1610379802
0xf60f0aEF...E49EfD481
0.10030084 ETH
116241022021-01-10 1:31:161336 days ago1610242276
0xf60f0aEF...E49EfD481
0.10047288 ETH
116158302021-01-08 18:52:171337 days ago1610131937
0xf60f0aEF...E49EfD481
0.10520273 ETH
116092732021-01-07 18:50:271338 days ago1610045427
0xf60f0aEF...E49EfD481
0.1003152 ETH
116015302021-01-06 14:21:091340 days ago1609942869
0xf60f0aEF...E49EfD481
0.10050713 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.