ETH Price: $2,063.88 (+11.26%)
 

Overview

ETH Balance

0.014770588451040355 ETH

Eth Value

$30.48 (@ $2,063.88/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer120145982021-03-11 2:29:061812 days ago1615429746IN
0x59617a2f...CbCD8520B
0.01477057 ETH0.000021051
Sweep115973192021-01-05 22:38:431876 days ago1609886323IN
0x59617a2f...CbCD8520B
0 ETH0.00628981110.4
Transfer115972942021-01-05 22:33:281876 days ago1609886008IN
0x59617a2f...CbCD8520B
0.02500285 ETH0.000021051
Transfer115515732020-12-29 22:28:031883 days ago1609280883IN
0x59617a2f...CbCD8520B
0.03216681 ETH0.000021051
Sweep115077152020-12-23 4:52:131890 days ago1608699133IN
0x59617a2f...CbCD8520B
0 ETH0.0037610166.00000175
Transfer115059492020-12-22 22:20:291890 days ago1608675629IN
0x59617a2f...CbCD8520B
0.03582188 ETH0.000021051
Transfer114603202020-12-15 22:21:071897 days ago1608070867IN
0x59617a2f...CbCD8520B
0.04392249 ETH0.000021051
Sweep114148142020-12-08 22:25:261904 days ago1607466326IN
0x59617a2f...CbCD8520B
0 ETH0.00584803102.62416627
Transfer114147882020-12-08 22:20:121904 days ago1607466012IN
0x59617a2f...CbCD8520B
0.04312684 ETH0.000021051
Transfer113693262020-12-01 22:17:061911 days ago1606861026IN
0x59617a2f...CbCD8520B
0.03668082 ETH0.000021051
Transfer113236822020-11-24 22:09:171918 days ago1606255757IN
0x59617a2f...CbCD8520B
0.01000232 ETH0.000021051
Sweep110651762020-10-16 6:05:101958 days ago1602828310IN
0x59617a2f...CbCD8520B
0 ETH0.0045122679.20000175
Transfer110651612020-10-16 6:02:501958 days ago1602828170IN
0x59617a2f...CbCD8520B
0.06721884 ETH0.000021051
Sweep110195252020-10-09 5:56:361965 days ago1602222996IN
0x59617a2f...CbCD8520B
0 ETH0.0028492550
Transfer110195092020-10-09 5:53:521965 days ago1602222832IN
0x59617a2f...CbCD8520B
0.09327194 ETH0.000021051
Sweep109748702020-10-02 5:53:271972 days ago1601618007IN
0x59617a2f...CbCD8520B
0 ETH0.0083426146.4
Transfer109748482020-10-02 5:48:511972 days ago1601617731IN
0x59617a2f...CbCD8520B
0.10291907 ETH0.000021051
Sweep109300012020-09-25 5:44:401979 days ago1601012680IN
0x59617a2f...CbCD8520B
0 ETH0.0047631483.586
Transfer109299802020-09-25 5:38:431979 days ago1601012323IN
0x59617a2f...CbCD8520B
0.12534233 ETH0.000021051
Sweep108843152020-09-18 5:37:531986 days ago1600407473IN
0x59617a2f...CbCD8520B
0 ETH0.02120701372.15083767
Transfer108843022020-09-18 5:34:191986 days ago1600407259IN
0x59617a2f...CbCD8520B
0.14960975 ETH0.000021051
Sweep108386972020-09-11 5:34:051993 days ago1599802445IN
0x59617a2f...CbCD8520B
0 ETH0.01141979200.4
Transfer108386762020-09-11 5:31:331993 days ago1599802293IN
0x59617a2f...CbCD8520B
0.13016762 ETH0.000021051
Sweep107929682020-09-04 5:27:312000 days ago1599197251IN
0x59617a2f...CbCD8520B
0 ETH0.0072775127.70918248
Transfer107929452020-09-04 5:22:592000 days ago1599196979IN
0x59617a2f...CbCD8520B
0.19236283 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-115973192021-01-05 22:38:431876 days ago1609886323
0x59617a2f...CbCD8520B
0.05716967 ETH
-115077152020-12-23 4:52:131890 days ago1608699133
0x59617a2f...CbCD8520B
0.07974438 ETH
-114148142020-12-08 22:25:261904 days ago1607466326
0x59617a2f...CbCD8520B
0.08981 ETH
-110651762020-10-16 6:05:101958 days ago1602828310
0x59617a2f...CbCD8520B
0.06721884 ETH
-110195252020-10-09 5:56:361965 days ago1602222996
0x59617a2f...CbCD8520B
0.09327195 ETH
-109748702020-10-02 5:53:271972 days ago1601618007
0x59617a2f...CbCD8520B
0.10291907 ETH
-109300012020-09-25 5:44:401979 days ago1601012680
0x59617a2f...CbCD8520B
0.12534234 ETH
-108843152020-09-18 5:37:531986 days ago1600407473
0x59617a2f...CbCD8520B
0.14960975 ETH
-108386972020-09-11 5:34:051993 days ago1599802445
0x59617a2f...CbCD8520B
0.13016763 ETH
-107929682020-09-04 5:27:312000 days ago1599197251
0x59617a2f...CbCD8520B
0.19236283 ETH
-107472282020-08-28 5:17:262007 days ago1598591846
0x59617a2f...CbCD8520B
0.12295939 ETH
-107016582020-08-21 5:17:272014 days ago1597987047
0x59617a2f...CbCD8520B
0.26681296 ETH
-106108172020-08-07 5:18:432028 days ago1596777523
0x59617a2f...CbCD8520B
0.07875111 ETH
-105653822020-07-31 5:15:032035 days ago1596172503
0x59617a2f...CbCD8520B
0.12005955 ETH
-105202702020-07-24 5:15:432042 days ago1595567743
0x59617a2f...CbCD8520B
0.06568517 ETH
-104749922020-07-17 5:12:012049 days ago1594962721
0x59617a2f...CbCD8520B
0.1063974 ETH
-104297912020-07-10 5:07:122056 days ago1594357632
0x59617a2f...CbCD8520B
0.10900067 ETH
-103844762020-07-03 5:04:412063 days ago1593752681
0x59617a2f...CbCD8520B
0.05434372 ETH
-103393912020-06-26 4:55:582070 days ago1593147358
0x59617a2f...CbCD8520B
0.10308137 ETH
-102941062020-06-19 4:54:072077 days ago1592542447
0x59617a2f...CbCD8520B
0.15007958 ETH
-102487952020-06-12 4:45:412084 days ago1591937141
0x59617a2f...CbCD8520B
0.10566265 ETH
-102036442020-06-05 4:39:152091 days ago1591331955
0x59617a2f...CbCD8520B
0.09077312 ETH
-101585682020-05-29 4:36:342098 days ago1590726994
0x59617a2f...CbCD8520B
0.07977809 ETH
-101135922020-05-22 4:26:372105 days ago1590121597
0x59617a2f...CbCD8520B
0.10710116 ETH
-100686002020-05-15 4:25:022112 days ago1589516702
0x59617a2f...CbCD8520B
0.10310633 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.