ETH Price: $2,148.13 (-0.32%)
Gas: 0.04 Gwei

Contract

0x2d4165b6Cf5FCd481EBd5111f51CD7eFb6A9c5CE
 

Overview

ETH Balance

0.028151303330568379 ETH

Eth Value

$60.47 (@ $2,148.13/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer156458052022-09-30 11:18:351272 days ago1664536715IN
0x2d4165b6...Fb6A9c5CE
0.00487643 ETH0.000175918.35676076
Transfer73129532019-03-06 1:57:052577 days ago1551837425IN
0x2d4165b6...Fb6A9c5CE
0.02327486 ETH0.000021051
Sweep72725642019-02-27 2:02:442584 days ago1551232964IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer72725482019-02-27 1:58:042584 days ago1551232684IN
0x2d4165b6...Fb6A9c5CE
0.77374687 ETH0.000021051
Sweep72484942019-02-21 10:37:402589 days ago1550745460IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer72484762019-02-21 10:30:552589 days ago1550745055IN
0x2d4165b6...Fb6A9c5CE
0.1106839 ETH0.00012636
Sweep72427242019-02-20 1:57:202591 days ago1550627840IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer72427072019-02-20 1:51:092591 days ago1550627469IN
0x2d4165b6...Fb6A9c5CE
1.00005679 ETH0.000021051
Sweep72167222019-02-13 21:18:022597 days ago1550092682IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer72167022019-02-13 21:11:242597 days ago1550092284IN
0x2d4165b6...Fb6A9c5CE
1.00006776 ETH0.000021051
Sweep71882332019-02-07 13:26:172603 days ago1549545977IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer71882152019-02-07 13:21:462603 days ago1549545706IN
0x2d4165b6...Fb6A9c5CE
1.00051754 ETH0.000021051
Sweep71605182019-02-01 21:37:002609 days ago1549057020IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer71605052019-02-01 21:31:392609 days ago1549056699IN
0x2d4165b6...Fb6A9c5CE
0.61362017 ETH0.000021051
Sweep71258872019-01-25 21:29:332616 days ago1548451773IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer71258732019-01-25 21:26:262616 days ago1548451586IN
0x2d4165b6...Fb6A9c5CE
0.41353315 ETH0.000021051
Sweep70892732019-01-18 21:33:372623 days ago1547847217IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer70892572019-01-18 21:30:462623 days ago1547847046IN
0x2d4165b6...Fb6A9c5CE
0.72152614 ETH0.000021051
Sweep70500672019-01-11 21:27:082630 days ago1547242028IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer70500432019-01-11 21:20:532630 days ago1547241653IN
0x2d4165b6...Fb6A9c5CE
0.66297911 ETH0.000021051
Sweep70109212019-01-04 21:21:552637 days ago1546636915IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer70109052019-01-04 21:17:572637 days ago1546636677IN
0x2d4165b6...Fb6A9c5CE
0.73433177 ETH0.000021051
Sweep69701522018-12-28 21:19:502644 days ago1546031990IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
Transfer69701282018-12-28 21:15:332644 days ago1546031733IN
0x2d4165b6...Fb6A9c5CE
0.95070568 ETH0.000021051
Sweep69287532018-12-21 21:17:382651 days ago1545427058IN
0x2d4165b6...Fb6A9c5CE
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-72725642019-02-27 2:02:442584 days ago1551232964
0x2d4165b6...Fb6A9c5CE
0.77374687 ETH
-72484942019-02-21 10:37:402589 days ago1550745460
0x2d4165b6...Fb6A9c5CE
0.11068391 ETH
-72427242019-02-20 1:57:202591 days ago1550627840
0x2d4165b6...Fb6A9c5CE
1.00005679 ETH
-72167222019-02-13 21:18:022597 days ago1550092682
0x2d4165b6...Fb6A9c5CE
1.00006777 ETH
-71882332019-02-07 13:26:172603 days ago1549545977
0x2d4165b6...Fb6A9c5CE
1.00051754 ETH
-71605182019-02-01 21:37:002609 days ago1549057020
0x2d4165b6...Fb6A9c5CE
0.61362018 ETH
-71258872019-01-25 21:29:332616 days ago1548451773
0x2d4165b6...Fb6A9c5CE
0.41353316 ETH
-70892732019-01-18 21:33:372623 days ago1547847217
0x2d4165b6...Fb6A9c5CE
0.72152614 ETH
-70500672019-01-11 21:27:082630 days ago1547242028
0x2d4165b6...Fb6A9c5CE
0.66297912 ETH
-70109212019-01-04 21:21:552637 days ago1546636915
0x2d4165b6...Fb6A9c5CE
0.73433177 ETH
-69701522018-12-28 21:19:502644 days ago1546031990
0x2d4165b6...Fb6A9c5CE
0.95070569 ETH
-69287532018-12-21 21:17:382651 days ago1545427058
0x2d4165b6...Fb6A9c5CE
0.83577263 ETH
-68872752018-12-14 21:14:142658 days ago1544822054
0x2d4165b6...Fb6A9c5CE
0.67085123 ETH
-68447482018-12-07 21:08:292665 days ago1544216909
0x2d4165b6...Fb6A9c5CE
0.5453414 ETH
-68025472018-11-30 21:07:222672 days ago1543612042
0x2d4165b6...Fb6A9c5CE
0.49650834 ETH
Transfer67599912018-11-23 21:05:372679 days ago1543007137
0x2d4165b6...Fb6A9c5CE
0.4377957 ETH
Transfer67173352018-11-16 21:05:122686 days ago1542402312
0x2d4165b6...Fb6A9c5CE
0.13452872 ETH
Transfer66318342018-11-02 20:57:452700 days ago1541192265
0x2d4165b6...Fb6A9c5CE
0.85670906 ETH
Transfer65891382018-10-26 21:01:062707 days ago1540587666
0x2d4165b6...Fb6A9c5CE
0.95194547 ETH
Transfer65523262018-10-20 20:38:162713 days ago1540067896
0x2d4165b6...Fb6A9c5CE
0.21049162 ETH
Transfer65365282018-10-18 6:31:522715 days ago1539844312
0x2d4165b6...Fb6A9c5CE
0.20079967 ETH
Transfer65239702018-10-16 5:19:152717 days ago1539667155
0x2d4165b6...Fb6A9c5CE
0.20032911 ETH
Transfer64888542018-10-10 12:15:442723 days ago1539173744
0x2d4165b6...Fb6A9c5CE
0.20023154 ETH
Transfer64704252018-10-07 12:53:042726 days ago1538916784
0x2d4165b6...Fb6A9c5CE
0.2009009 ETH
Transfer64551612018-10-05 1:31:232729 days ago1538703083
0x2d4165b6...Fb6A9c5CE
0.20044288 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.