ETH Price: $2,002.66 (+0.24%)

Contract

0x4Dda35cFe2f03EC9deB3243C40f8A2DcB29c0c22
 

Overview

ETH Balance

0.010042131942642164 ETH

Eth Value

$20.11 (@ $2,002.66/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer84298852019-08-27 3:44:492406 days ago1566877489IN
0x4Dda35cF...cB29c0c22
0.01004212 ETH0.000021051
Sweep83849192019-08-20 3:47:182413 days ago1566272838IN
0x4Dda35cF...cB29c0c22
0 ETH0.0010998422
Transfer83849052019-08-20 3:43:532413 days ago1566272633IN
0x4Dda35cF...cB29c0c22
0.02372508 ETH0.000021051
Transfer83398442019-08-13 3:43:262420 days ago1565667806IN
0x4Dda35cF...cB29c0c22
0.03031999 ETH0.000021051
Sweep82947282019-08-06 3:42:062427 days ago1565062926IN
0x4Dda35cF...cB29c0c22
0 ETH0.0010998422
Transfer82947122019-08-06 3:38:512427 days ago1565062731IN
0x4Dda35cF...cB29c0c22
0.02093101 ETH0.000021051
Transfer82495702019-07-30 3:34:112434 days ago1564457651IN
0x4Dda35cF...cB29c0c22
0.03006223 ETH0.000021051
Transfer82045342019-07-23 3:32:132441 days ago1563852733IN
0x4Dda35cF...cB29c0c22
0.01067294 ETH0.000021051
Sweep81595632019-07-16 3:32:482448 days ago1563247968IN
0x4Dda35cF...cB29c0c22
0 ETH0.0011248422.5
Transfer81595432019-07-16 3:29:212448 days ago1563247761IN
0x4Dda35cF...cB29c0c22
0.01546669 ETH0.000021051
Transfer81146432019-07-09 3:28:382455 days ago1562642918IN
0x4Dda35cF...cB29c0c22
0.01399282 ETH0.000021051
Transfer80696622019-07-02 3:27:092462 days ago1562038029IN
0x4Dda35cF...cB29c0c22
0.03310601 ETH0.000021051
Sweep80247302019-06-25 3:27:372469 days ago1561433257IN
0x4Dda35cF...cB29c0c22
0 ETH0.0010984322
Transfer80247082019-06-25 3:22:372469 days ago1561432957IN
0x4Dda35cF...cB29c0c22
0.02979902 ETH0.000021051
Transfer79798832019-06-18 3:19:502476 days ago1560827990IN
0x4Dda35cF...cB29c0c22
0.02902967 ETH0.000021051
Sweep79351522019-06-11 3:23:072483 days ago1560223387IN
0x4Dda35cF...cB29c0c22
0 ETH0.0024996550
Transfer79351282019-06-11 3:18:432483 days ago1560223123IN
0x4Dda35cF...cB29c0c22
0.01001335 ETH0.000021051
Transfer78895992019-06-04 0:22:492490 days ago1559607769IN
0x4Dda35cF...cB29c0c22
0.02239065 ETH0.000021051
Transfer78448632019-05-28 0:19:372497 days ago1559002777IN
0x4Dda35cF...cB29c0c22
0.02434437 ETH0.000021051
Sweep78000572019-05-21 0:21:422504 days ago1558398102IN
0x4Dda35cF...cB29c0c22
0 ETH0.0024996550
Transfer78000362019-05-21 0:16:432504 days ago1558397803IN
0x4Dda35cF...cB29c0c22
0.03452669 ETH0.000021051
Transfer77551672019-05-14 0:14:092511 days ago1557792849IN
0x4Dda35cF...cB29c0c22
0.03263796 ETH0.000021051
Sweep77104252019-05-07 0:14:412518 days ago1557188081IN
0x4Dda35cF...cB29c0c22
0 ETH0.0025028550
Transfer77104072019-05-07 0:09:222518 days ago1557187762IN
0x4Dda35cF...cB29c0c22
0.03598082 ETH0.000021051
Transfer76654542019-04-30 0:03:462525 days ago1556582626IN
0x4Dda35cF...cB29c0c22
0.03658676 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-83849192019-08-20 3:47:182413 days ago1566272838
0x4Dda35cF...cB29c0c22
0.05404508 ETH
-82947282019-08-06 3:42:062427 days ago1565062926
0x4Dda35cF...cB29c0c22
0.0616662 ETH
-81595632019-07-16 3:32:482448 days ago1563247968
0x4Dda35cF...cB29c0c22
0.06256554 ETH
-80247302019-06-25 3:27:372469 days ago1561433257
0x4Dda35cF...cB29c0c22
0.0588287 ETH
-79351522019-06-11 3:23:072483 days ago1560223387
0x4Dda35cF...cB29c0c22
0.05674838 ETH
-78000572019-05-21 0:21:422504 days ago1558398102
0x4Dda35cF...cB29c0c22
0.06716466 ETH
-77104252019-05-07 0:14:412518 days ago1557188081
0x4Dda35cF...cB29c0c22
0.07256758 ETH
-76205432019-04-23 0:07:372532 days ago1555978057
0x4Dda35cF...cB29c0c22
0.0587596 ETH
-75305212019-04-08 23:52:272546 days ago1554767547
0x4Dda35cF...cB29c0c22
0.07524833 ETH
-74408392019-03-25 23:44:392560 days ago1553557479
0x4Dda35cF...cB29c0c22
0.06765749 ETH
-73058912019-03-04 23:32:382581 days ago1551742358
0x4Dda35cF...cB29c0c22
0.0736904 ETH
-72379922019-02-18 23:31:422595 days ago1550532702
0x4Dda35cF...cB29c0c22
0.07564714 ETH
-71755712019-02-04 23:19:442609 days ago1549322384
0x4Dda35cF...cB29c0c22
0.05739403 ETH
-70977172019-01-20 9:32:472624 days ago1547976767
0x4Dda35cF...cB29c0c22
0.06114034 ETH
-70193482019-01-06 9:17:392638 days ago1546766259
0x4Dda35cF...cB29c0c22
0.09080458 ETH
-69375422018-12-23 9:16:022652 days ago1545556562
0x4Dda35cF...cB29c0c22
0.08591306 ETH
Transfer66986792018-11-13 19:50:192692 days ago1542138619
0x4Dda35cF...cB29c0c22
0.05415838 ETH
Transfer66132422018-10-30 19:43:592706 days ago1540928639
0x4Dda35cF...cB29c0c22
0.06016711 ETH
Transfer65275652018-10-16 19:34:322720 days ago1539718472
0x4Dda35cF...cB29c0c22
0.06227325 ETH
Transfer64413702018-10-02 19:32:312734 days ago1538508751
0x4Dda35cF...cB29c0c22
0.06555375 ETH
Transfer63561092018-09-18 19:25:122748 days ago1537298712
0x4Dda35cF...cB29c0c22
0.06902685 ETH
Transfer62719912018-09-04 19:20:322762 days ago1536088832
0x4Dda35cF...cB29c0c22
0.06457187 ETH
Transfer61889952018-08-21 19:10:532776 days ago1534878653
0x4Dda35cF...cB29c0c22
0.07257824 ETH
Transfer58156742018-06-19 8:08:242840 days ago1529395704
0x4Dda35cF...cB29c0c22
0.06214749 ETH
Transfer53550442018-03-31 13:20:062919 days ago1522502406
0x4Dda35cF...cB29c0c22
0.05005997 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.