ETH Price: $2,333.43 (-0.77%)

Contract

0x153a808C3bf5bfe0B634F7ef2bCf2C8281E6e92d
 

Overview

ETH Balance

0.000000003978512215 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep105222812020-07-24 12:48:522062 days ago1595594932IN
0x153a808C...281E6e92d
0 ETH0.00598342105
Transfer105222612020-07-24 12:44:232062 days ago1595594663IN
0x153a808C...281E6e92d
0.19256291 ETH0.000021051
Sweep104770482020-07-17 12:45:172069 days ago1594989917IN
0x153a808C...281E6e92d
0 ETH0.0047867484
Transfer104770282020-07-17 12:41:402069 days ago1594989700IN
0x153a808C...281E6e92d
0.24020488 ETH0.000021051
Sweep104555522020-07-14 4:30:332072 days ago1594701033IN
0x153a808C...281E6e92d
0 ETH0.0020514636
Transfer104555342020-07-14 4:27:022072 days ago1594700822IN
0x153a808C...281E6e92d
0.45537566 ETH0.000021051
Sweep104101682020-07-07 4:32:202079 days ago1594096340IN
0x153a808C...281E6e92d
0 ETH0.002649846.5
Transfer104101442020-07-07 4:27:032079 days ago1594096023IN
0x153a808C...281E6e92d
0.36264719 ETH0.000021051
Sweep103649612020-06-30 4:24:212086 days ago1593491061IN
0x153a808C...281E6e92d
0 ETH0.0036755364.5
Transfer103649432020-06-30 4:21:002086 days ago1593490860IN
0x153a808C...281E6e92d
0.23664019 ETH0.000021051
Sweep103198842020-06-23 4:26:312093 days ago1592886391IN
0x153a808C...281E6e92d
0 ETH0.0035045761.5
Transfer103198592020-06-23 4:19:532093 days ago1592885993IN
0x153a808C...281E6e92d
0.26097148 ETH0.000021051
Sweep102746412020-06-16 4:23:542100 days ago1592281434IN
0x153a808C...281E6e92d
0 ETH0.002829349.65
Transfer102746212020-06-16 4:17:312100 days ago1592281051IN
0x153a808C...281E6e92d
0.37976782 ETH0.000021051
Sweep102293612020-06-09 4:21:482107 days ago1591676508IN
0x153a808C...281E6e92d
0 ETH0.0017095530
Transfer102293412020-06-09 4:18:032107 days ago1591676283IN
0x153a808C...281E6e92d
0.25309888 ETH0.000021051
Sweep101841812020-06-02 4:20:352114 days ago1591071635IN
0x153a808C...281E6e92d
0 ETH0.0025643245.0000037
Transfer101841582020-06-02 4:14:242114 days ago1591071264IN
0x153a808C...281E6e92d
0.23362706 ETH0.000021051
Sweep101391592020-05-26 4:15:382121 days ago1590466538IN
0x153a808C...281E6e92d
0 ETH0.0028207549.5
Transfer101391452020-05-26 4:13:112121 days ago1590466391IN
0x153a808C...281E6e92d
0.25115997 ETH0.000021051
Sweep100941682020-05-19 4:17:172128 days ago1589861837IN
0x153a808C...281E6e92d
0 ETH0.0027267347.85000035
Transfer100941352020-05-19 4:10:372128 days ago1589861437IN
0x153a808C...281E6e92d
0.25728176 ETH0.000021051
Sweep100491832020-05-12 4:08:502135 days ago1589256530IN
0x153a808C...281E6e92d
0 ETH0.0012536722
Transfer100491612020-05-12 4:04:562135 days ago1589256296IN
0x153a808C...281E6e92d
0.2602651 ETH0.000021051
Sweep100039802020-05-05 4:02:592142 days ago1588651379IN
0x153a808C...281E6e92d
0 ETH0.0012536722
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-105222812020-07-24 12:48:522062 days ago1595594932
0x153a808C...281E6e92d
0.19256291 ETH
-104770482020-07-17 12:45:172069 days ago1594989917
0x153a808C...281E6e92d
0.24020489 ETH
-104555522020-07-14 4:30:332072 days ago1594701033
0x153a808C...281E6e92d
0.45537566 ETH
-104101682020-07-07 4:32:202079 days ago1594096340
0x153a808C...281E6e92d
0.3626472 ETH
-103649612020-06-30 4:24:212086 days ago1593491061
0x153a808C...281E6e92d
0.23664019 ETH
-103198842020-06-23 4:26:312093 days ago1592886391
0x153a808C...281E6e92d
0.26097149 ETH
-102746412020-06-16 4:23:542100 days ago1592281434
0x153a808C...281E6e92d
0.37976782 ETH
-102293612020-06-09 4:21:482107 days ago1591676508
0x153a808C...281E6e92d
0.25309889 ETH
-101841812020-06-02 4:20:352114 days ago1591071635
0x153a808C...281E6e92d
0.23362706 ETH
-101391592020-05-26 4:15:382121 days ago1590466538
0x153a808C...281E6e92d
0.25115998 ETH
-100941682020-05-19 4:17:172128 days ago1589861837
0x153a808C...281E6e92d
0.25728176 ETH
-100491832020-05-12 4:08:502135 days ago1589256530
0x153a808C...281E6e92d
0.26026511 ETH
-100039802020-05-05 4:02:592142 days ago1588651379
0x153a808C...281E6e92d
0.20579979 ETH
-99586582020-04-28 3:56:062149 days ago1588046166
0x153a808C...281E6e92d
0.19409357 ETH
-99135032020-04-21 3:48:262156 days ago1587440906
0x153a808C...281E6e92d
0.23721558 ETH
-98681602020-04-14 3:46:172163 days ago1586835977
0x153a808C...281E6e92d
0.23575045 ETH
-98225942020-04-07 3:39:472170 days ago1586230787
0x153a808C...281E6e92d
0.23651787 ETH
-97771122020-03-31 3:32:152177 days ago1585625535
0x153a808C...281E6e92d
0.26863816 ETH
-97317982020-03-24 3:28:562184 days ago1585020536
0x153a808C...281E6e92d
0.27525984 ETH
-96866252020-03-17 3:23:152191 days ago1584415395
0x153a808C...281E6e92d
0.27927876 ETH
-96412682020-03-10 3:24:022198 days ago1583810642
0x153a808C...281E6e92d
0.25823 ETH
-95957212020-03-03 3:14:422205 days ago1583205282
0x153a808C...281E6e92d
0.26831491 ETH
-95501282020-02-25 3:15:352212 days ago1582600535
0x153a808C...281E6e92d
0.25613306 ETH
-95046062020-02-18 3:10:142219 days ago1581995414
0x153a808C...281E6e92d
0.27515367 ETH
-94591302020-02-11 3:08:072226 days ago1581390487
0x153a808C...281E6e92d
0.26580427 ETH
View All Internal Transactions
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.