ETH Price: $2,065.36 (-2.69%)

Contract

0x5D8DA5cc531d348e2B541aA0Fe1ebEeb63B5A18c
 

Overview

ETH Balance

0.000000004468866856 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep143397332022-03-07 12:38:051480 days ago1646656685IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0016971930
Transfer143397182022-03-07 12:34:331480 days ago1646656473IN
0x5D8DA5cc...b63B5A18c
0.04767878 ETH0.0005974228.38003533
Transfer127212642021-06-28 7:42:381733 days ago1624866158IN
0x5D8DA5cc...b63B5A18c
0.0114122 ETH0.000021051
Sweep124450772021-05-16 11:01:131775 days ago1621162873IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0032518651.75
Sweep122458432021-04-15 16:52:211806 days ago1618505541IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0044890679.35
Transfer122458282021-04-15 16:49:021806 days ago1618505342IN
0x5D8DA5cc...b63B5A18c
3 ETH0.0014314668.00000131
Sweep122442782021-04-15 11:01:381806 days ago1618484498IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0040540371.645
Transfer122436652021-04-15 8:52:181806 days ago1618476738IN
0x5D8DA5cc...b63B5A18c
1.003 ETH0.0020419497
Transfer122436152021-04-15 8:41:591806 days ago1618476119IN
0x5D8DA5cc...b63B5A18c
1 ETH0.0018990
Transfer122435642021-04-15 8:30:531806 days ago1618475453IN
0x5D8DA5cc...b63B5A18c
1 ETH0.00199595
Transfer59734112018-07-16 7:06:572811 days ago1531724817IN
0x5D8DA5cc...b63B5A18c
0.02215755 ETH0.000021051
Sweep59318072018-07-09 7:07:362818 days ago1531120056IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0049993100
Transfer59317922018-07-09 7:03:072818 days ago1531119787IN
0x5D8DA5cc...b63B5A18c
0.11307135 ETH0.000021051
Sweep58911382018-07-02 7:06:312825 days ago1530515191IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0047303894.5
Transfer58911042018-07-02 6:59:102825 days ago1530514750IN
0x5D8DA5cc...b63B5A18c
0.09634268 ETH0.000021051
Sweep58505092018-06-25 7:05:012832 days ago1529910301IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0025028550
Transfer58504822018-06-25 6:56:422832 days ago1529909802IN
0x5D8DA5cc...b63B5A18c
0.12061225 ETH0.000021051
Sweep58095252018-06-18 7:01:342839 days ago1529305294IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0025028550
Transfer58094992018-06-18 6:55:232839 days ago1529304923IN
0x5D8DA5cc...b63B5A18c
0.12500313 ETH0.000021051
Transfer57716962018-06-11 18:35:092845 days ago1528742109IN
0x5D8DA5cc...b63B5A18c
0.01015115 ETH0.000021051
Transfer55820482018-05-09 6:09:152879 days ago1525846155IN
0x5D8DA5cc...b63B5A18c
0.01048686 ETH0.000021051
Sweep55419962018-05-02 6:11:182886 days ago1525241478IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0025028550
Transfer55419792018-05-02 6:05:182886 days ago1525241118IN
0x5D8DA5cc...b63B5A18c
0.12504933 ETH0.000021051
Sweep55069762018-04-26 3:57:382892 days ago1524715058IN
0x5D8DA5cc...b63B5A18c
0 ETH0.0025028550
Transfer55069562018-04-26 3:51:552892 days ago1524714715IN
0x5D8DA5cc...b63B5A18c
0.12500525 ETH0.000021051
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-143397332022-03-07 12:38:051480 days ago1646656685
0x5D8DA5cc...b63B5A18c
0.059091 ETH
-122458432021-04-15 16:52:211806 days ago1618505541
0x5D8DA5cc...b63B5A18c
3 ETH
-122442782021-04-15 11:01:381806 days ago1618484498
0x5D8DA5cc...b63B5A18c
1.02515755 ETH
Transfer59318072018-07-09 7:07:362818 days ago1531120056
0x5D8DA5cc...b63B5A18c
0.11307136 ETH
Transfer58911382018-07-02 7:06:312825 days ago1530515191
0x5D8DA5cc...b63B5A18c
0.09634268 ETH
Transfer58505092018-06-25 7:05:012832 days ago1529910301
0x5D8DA5cc...b63B5A18c
0.12061226 ETH
Transfer58095252018-06-18 7:01:342839 days ago1529305294
0x5D8DA5cc...b63B5A18c
0.14564116 ETH
Transfer55419962018-05-02 6:11:182886 days ago1525241478
0x5D8DA5cc...b63B5A18c
0.12504934 ETH
Transfer55069762018-04-26 3:57:382892 days ago1524715058
0x5D8DA5cc...b63B5A18c
0.12500525 ETH
Transfer54728902018-04-20 7:11:372898 days ago1524208297
0x5D8DA5cc...b63B5A18c
0.12510887 ETH
Transfer54375682018-04-14 6:28:032904 days ago1523687283
0x5D8DA5cc...b63B5A18c
0.12502356 ETH
Transfer54025952018-04-08 9:57:302909 days ago1523181450
0x5D8DA5cc...b63B5A18c
0.12506727 ETH
Transfer53664292018-04-02 10:10:302915 days ago1522663830
0x5D8DA5cc...b63B5A18c
0.12507539 ETH
Transfer49823382018-01-27 14:27:372980 days ago1517063257  Contract Creation0 ETH
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.