ETH Price: $2,056.90 (-4.46%)

Contract

0x4Dda35cFe2f03EC9deB3243C40f8A2DcB29c0c22
 

Overview

ETH Balance

0.010042131942642164 ETH

Eth Value

$20.66 (@ $2,056.90/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer84298852019-08-27 3:44:492398 days ago1566877489IN
0x4Dda35cF...cB29c0c22
0.01004212 ETH0.000021051
Sweep83849192019-08-20 3:47:182405 days ago1566272838IN
0x4Dda35cF...cB29c0c22
0 ETH0.0010998422
Transfer83849052019-08-20 3:43:532405 days ago1566272633IN
0x4Dda35cF...cB29c0c22
0.02372508 ETH0.000021051
Transfer83398442019-08-13 3:43:262412 days ago1565667806IN
0x4Dda35cF...cB29c0c22
0.03031999 ETH0.000021051
Sweep82947282019-08-06 3:42:062419 days ago1565062926IN
0x4Dda35cF...cB29c0c22
0 ETH0.0010998422
Transfer82947122019-08-06 3:38:512419 days ago1565062731IN
0x4Dda35cF...cB29c0c22
0.02093101 ETH0.000021051
Transfer82495702019-07-30 3:34:112426 days ago1564457651IN
0x4Dda35cF...cB29c0c22
0.03006223 ETH0.000021051
Transfer82045342019-07-23 3:32:132433 days ago1563852733IN
0x4Dda35cF...cB29c0c22
0.01067294 ETH0.000021051
Sweep81595632019-07-16 3:32:482440 days ago1563247968IN
0x4Dda35cF...cB29c0c22
0 ETH0.0011248422.5
Transfer81595432019-07-16 3:29:212440 days ago1563247761IN
0x4Dda35cF...cB29c0c22
0.01546669 ETH0.000021051
Transfer81146432019-07-09 3:28:382447 days ago1562642918IN
0x4Dda35cF...cB29c0c22
0.01399282 ETH0.000021051
Transfer80696622019-07-02 3:27:092454 days ago1562038029IN
0x4Dda35cF...cB29c0c22
0.03310601 ETH0.000021051
Sweep80247302019-06-25 3:27:372461 days ago1561433257IN
0x4Dda35cF...cB29c0c22
0 ETH0.0010984322
Transfer80247082019-06-25 3:22:372461 days ago1561432957IN
0x4Dda35cF...cB29c0c22
0.02979902 ETH0.000021051
Transfer79798832019-06-18 3:19:502468 days ago1560827990IN
0x4Dda35cF...cB29c0c22
0.02902967 ETH0.000021051
Sweep79351522019-06-11 3:23:072475 days ago1560223387IN
0x4Dda35cF...cB29c0c22
0 ETH0.0024996550
Transfer79351282019-06-11 3:18:432475 days ago1560223123IN
0x4Dda35cF...cB29c0c22
0.01001335 ETH0.000021051
Transfer78895992019-06-04 0:22:492482 days ago1559607769IN
0x4Dda35cF...cB29c0c22
0.02239065 ETH0.000021051
Transfer78448632019-05-28 0:19:372489 days ago1559002777IN
0x4Dda35cF...cB29c0c22
0.02434437 ETH0.000021051
Sweep78000572019-05-21 0:21:422496 days ago1558398102IN
0x4Dda35cF...cB29c0c22
0 ETH0.0024996550
Transfer78000362019-05-21 0:16:432496 days ago1558397803IN
0x4Dda35cF...cB29c0c22
0.03452669 ETH0.000021051
Transfer77551672019-05-14 0:14:092503 days ago1557792849IN
0x4Dda35cF...cB29c0c22
0.03263796 ETH0.000021051
Sweep77104252019-05-07 0:14:412510 days ago1557188081IN
0x4Dda35cF...cB29c0c22
0 ETH0.0025028550
Transfer77104072019-05-07 0:09:222510 days ago1557187762IN
0x4Dda35cF...cB29c0c22
0.03598082 ETH0.000021051
Transfer76654542019-04-30 0:03:462518 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:182405 days ago1566272838
0x4Dda35cF...cB29c0c22
0.05404508 ETH
-82947282019-08-06 3:42:062419 days ago1565062926
0x4Dda35cF...cB29c0c22
0.0616662 ETH
-81595632019-07-16 3:32:482440 days ago1563247968
0x4Dda35cF...cB29c0c22
0.06256554 ETH
-80247302019-06-25 3:27:372461 days ago1561433257
0x4Dda35cF...cB29c0c22
0.0588287 ETH
-79351522019-06-11 3:23:072475 days ago1560223387
0x4Dda35cF...cB29c0c22
0.05674838 ETH
-78000572019-05-21 0:21:422496 days ago1558398102
0x4Dda35cF...cB29c0c22
0.06716466 ETH
-77104252019-05-07 0:14:412510 days ago1557188081
0x4Dda35cF...cB29c0c22
0.07256758 ETH
-76205432019-04-23 0:07:372524 days ago1555978057
0x4Dda35cF...cB29c0c22
0.0587596 ETH
-75305212019-04-08 23:52:272539 days ago1554767547
0x4Dda35cF...cB29c0c22
0.07524833 ETH
-74408392019-03-25 23:44:392553 days ago1553557479
0x4Dda35cF...cB29c0c22
0.06765749 ETH
-73058912019-03-04 23:32:382574 days ago1551742358
0x4Dda35cF...cB29c0c22
0.0736904 ETH
-72379922019-02-18 23:31:422588 days ago1550532702
0x4Dda35cF...cB29c0c22
0.07564714 ETH
-71755712019-02-04 23:19:442602 days ago1549322384
0x4Dda35cF...cB29c0c22
0.05739403 ETH
-70977172019-01-20 9:32:472617 days ago1547976767
0x4Dda35cF...cB29c0c22
0.06114034 ETH
-70193482019-01-06 9:17:392631 days ago1546766259
0x4Dda35cF...cB29c0c22
0.09080458 ETH
-69375422018-12-23 9:16:022645 days ago1545556562
0x4Dda35cF...cB29c0c22
0.08591306 ETH
Transfer66986792018-11-13 19:50:192685 days ago1542138619
0x4Dda35cF...cB29c0c22
0.05415838 ETH
Transfer66132422018-10-30 19:43:592699 days ago1540928639
0x4Dda35cF...cB29c0c22
0.06016711 ETH
Transfer65275652018-10-16 19:34:322713 days ago1539718472
0x4Dda35cF...cB29c0c22
0.06227325 ETH
Transfer64413702018-10-02 19:32:312727 days ago1538508751
0x4Dda35cF...cB29c0c22
0.06555375 ETH
Transfer63561092018-09-18 19:25:122741 days ago1537298712
0x4Dda35cF...cB29c0c22
0.06902685 ETH
Transfer62719912018-09-04 19:20:322755 days ago1536088832
0x4Dda35cF...cB29c0c22
0.06457187 ETH
Transfer61889952018-08-21 19:10:532769 days ago1534878653
0x4Dda35cF...cB29c0c22
0.07257824 ETH
Transfer58156742018-06-19 8:08:242832 days ago1529395704
0x4Dda35cF...cB29c0c22
0.06214749 ETH
Transfer53550442018-03-31 13:20:062912 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.