ETH Price: $1,852.48 (-0.79%)
 

Overview

ETH Balance

0.000000005985846677 ETH

Eth Value

Less Than $0.01 (@ $1,852.48/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep136073562021-11-13 11:14:291564 days ago1636802069IN
0xD4516B24...42d2D71d2
0 ETH0.00722712127.7216065
Transfer136073422021-11-13 11:11:001564 days ago1636801860IN
0xD4516B24...42d2D71d2
0.20525694 ETH0.00215192102.22429926
Sweep129070472021-07-27 8:21:281673 days ago1627374088IN
0xD4516B24...42d2D71d2
0 ETH0.0016975530
Transfer129070272021-07-27 8:15:421673 days ago1627373742IN
0xD4516B24...42d2D71d2
0.10006053 ETH0.000105255
Sweep124122322021-05-11 9:05:101750 days ago1620723910IN
0xD4516B24...42d2D71d2
0 ETH0.01730935305.9
Transfer124122092021-05-11 8:59:351750 days ago1620723575IN
0xD4516B24...42d2D71d2
0.10521158 ETH0.000063153
Transfer124029422021-05-09 22:49:531752 days ago1620600593IN
0xD4516B24...42d2D71d2
0.01400586 ETH0.000021051
Sweep123122252021-04-25 22:45:371766 days ago1619390737IN
0xD4516B24...42d2D71d2
0 ETH0.0027324748.3
Transfer123122092021-04-25 22:41:081766 days ago1619390468IN
0xD4516B24...42d2D71d2
0.06590726 ETH0.000021051
Transfer122668632021-04-18 22:38:381773 days ago1618785518IN
0xD4516B24...42d2D71d2
0.0100107 ETH0.000021051
Sweep120821442021-03-21 12:29:041801 days ago1616329744IN
0xD4516B24...42d2D71d2
0 ETH0.00626703110.00000148
Transfer120821292021-03-21 12:25:311801 days ago1616329531IN
0xD4516B24...42d2D71d2
0.06861043 ETH0.000021051
Sweep120366602021-03-14 12:24:201808 days ago1615724660IN
0xD4516B24...42d2D71d2
0 ETH0.00658038115.5
Transfer120366342021-03-14 12:20:231808 days ago1615724423IN
0xD4516B24...42d2D71d2
0.05969036 ETH0.000021051
Sweep119913052021-03-07 12:20:311815 days ago1615119631IN
0xD4516B24...42d2D71d2
0 ETH0.00676839118.80000171
Transfer119912842021-03-07 12:15:461815 days ago1615119346IN
0xD4516B24...42d2D71d2
0.01093257 ETH0.000021051
Transfer119001872021-02-21 12:11:491829 days ago1613909509IN
0xD4516B24...42d2D71d2
0.04021261 ETH0.000021051
Sweep118091752021-02-07 12:10:231843 days ago1612699823IN
0xD4516B24...42d2D71d2
0 ETH0.00656467115.2
Transfer118091602021-02-07 12:06:471843 days ago1612699607IN
0xD4516B24...42d2D71d2
0.20480142 ETH0.000021051
Sweep117636822021-01-31 12:01:161850 days ago1612094476IN
0xD4516B24...42d2D71d2
0 ETH0.005675799.60000175
Transfer117636592021-01-31 11:57:341850 days ago1612094254IN
0xD4516B24...42d2D71d2
0.10182096 ETH0.000021051
Sweep117181462021-01-24 11:50:431857 days ago1611489043IN
0xD4516B24...42d2D71d2
0 ETH0.0039661569.6
Transfer117181282021-01-24 11:46:051857 days ago1611488765IN
0xD4516B24...42d2D71d2
0.10472363 ETH0.000021051
Sweep116725262021-01-17 11:50:011864 days ago1610884201IN
0xD4516B24...42d2D71d2
0 ETH0.0030771954
Transfer116725102021-01-17 11:45:541864 days ago1610883954IN
0xD4516B24...42d2D71d2
0.10980055 ETH0.000021051
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-136073562021-11-13 11:14:291564 days ago1636802069
0xD4516B24...42d2D71d2
0.20525694 ETH
-129070472021-07-27 8:21:281673 days ago1627374088
0xD4516B24...42d2D71d2
0.10006054 ETH
-124122322021-05-11 9:05:101750 days ago1620723910
0xD4516B24...42d2D71d2
0.11921745 ETH
-123122252021-04-25 22:45:371766 days ago1619390737
0xD4516B24...42d2D71d2
0.07591798 ETH
-120821442021-03-21 12:29:041801 days ago1616329744
0xD4516B24...42d2D71d2
0.06861043 ETH
-120366602021-03-14 12:24:201808 days ago1615724660
0xD4516B24...42d2D71d2
0.05969036 ETH
-119913052021-03-07 12:20:311815 days ago1615119631
0xD4516B24...42d2D71d2
0.05114519 ETH
-118091752021-02-07 12:10:231843 days ago1612699823
0xD4516B24...42d2D71d2
0.20480142 ETH
-117636822021-01-31 12:01:161850 days ago1612094476
0xD4516B24...42d2D71d2
0.10182096 ETH
-117181462021-01-24 11:50:431857 days ago1611489043
0xD4516B24...42d2D71d2
0.10472363 ETH
-116725262021-01-17 11:50:011864 days ago1610884201
0xD4516B24...42d2D71d2
0.10980056 ETH
-116268952021-01-10 11:43:001871 days ago1610278980
0xD4516B24...42d2D71d2
0.13010297 ETH
Transfer53099822018-03-24 0:00:012895 days ago1521849601  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.