ETH Price: $2,164.60 (+2.19%)

Contract

0x0037d16bD73F73e9513ca0caeBAA008fA229d7dc
 

Overview

ETH Balance

0.046729792952343991 ETH

Eth Value

$101.15 (@ $2,164.60/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer72612682019-02-24 10:27:272586 days ago1551004047IN
0x0037d16b...fA229d7dc
0.02355722 ETH0.000021051
Transfer72314922019-02-17 10:20:582593 days ago1550398858IN
0x0037d16b...fA229d7dc
0.01004286 ETH0.000021051
Transfer71355422019-01-27 19:27:052613 days ago1548617225IN
0x0037d16b...fA229d7dc
0.01312969 ETH0.000021051
Sweep71000262019-01-20 19:28:062620 days ago1548012486IN
0x0037d16b...fA229d7dc
0 ETH0.0025028550
Transfer71000112019-01-20 19:22:062620 days ago1548012126IN
0x0037d16b...fA229d7dc
0.0569057 ETH0.000021051
Transfer70607002019-01-13 19:18:432627 days ago1547407123IN
0x0037d16b...fA229d7dc
0.04940793 ETH0.000021051
Sweep70216352019-01-06 19:17:042634 days ago1546802224IN
0x0037d16b...fA229d7dc
0 ETH0.0024996550
Transfer70216182019-01-06 19:11:572634 days ago1546801917IN
0x0037d16b...fA229d7dc
0.05190941 ETH0.000021051
Sweep69815142018-12-30 19:16:302641 days ago1546197390IN
0x0037d16b...fA229d7dc
0 ETH0.0024996550
Transfer69814942018-12-30 19:11:492641 days ago1546197109IN
0x0037d16b...fA229d7dc
0.05676811 ETH0.000021051
Sweep69400062018-12-23 19:11:052648 days ago1545592265IN
0x0037d16b...fA229d7dc
0 ETH0.0024996550
Transfer69399892018-12-23 19:06:492648 days ago1545592009IN
0x0037d16b...fA229d7dc
0.05589278 ETH0.000021051
Sweep68988762018-12-16 19:05:442655 days ago1544987144IN
0x0037d16b...fA229d7dc
0 ETH0.0024996550
Transfer68988612018-12-16 19:00:512655 days ago1544986851IN
0x0037d16b...fA229d7dc
0.05197361 ETH0.000021051
Transfer68563452018-12-09 19:03:482662 days ago1544382228IN
0x0037d16b...fA229d7dc
0.01003423 ETH0.000021051
Sweep66109572018-10-30 10:37:462703 days ago1540895866IN
0x0037d16b...fA229d7dc
0 ETH0.0024996550
Transfer66109372018-10-30 10:32:402703 days ago1540895560IN
0x0037d16b...fA229d7dc
0.05090081 ETH0.000021051
Transfer65680852018-10-23 10:26:442710 days ago1540290404IN
0x0037d16b...fA229d7dc
0.01001772 ETH0.000021051
Transfer64531272018-10-04 17:43:272729 days ago1538675007IN
0x0037d16b...fA229d7dc
0.03783603 ETH0.000021051
Sweep64103622018-09-27 17:48:562736 days ago1538070536IN
0x0037d16b...fA229d7dc
0 ETH0.0025028550
Transfer64103402018-09-27 17:44:112736 days ago1538070251IN
0x0037d16b...fA229d7dc
0.05173765 ETH0.000021051
Transfer63677842018-09-20 17:36:392743 days ago1537464999IN
0x0037d16b...fA229d7dc
0.01001612 ETH0.000021051
Transfer62945772018-09-08 14:07:192755 days ago1536415639IN
0x0037d16b...fA229d7dc
0.01421681 ETH0.000021051
Transfer62528702018-09-01 14:13:242762 days ago1535811204IN
0x0037d16b...fA229d7dc
0.02312587 ETH0.000021051
Sweep62113712018-08-25 14:07:562769 days ago1535206076IN
0x0037d16b...fA229d7dc
0 ETH0.0024996550
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-71000262019-01-20 19:28:062620 days ago1548012486
0x0037d16b...fA229d7dc
0.10631363 ETH
-70216352019-01-06 19:17:042634 days ago1546802224
0x0037d16b...fA229d7dc
0.05190942 ETH
-69815142018-12-30 19:16:302641 days ago1546197390
0x0037d16b...fA229d7dc
0.05676811 ETH
-69400062018-12-23 19:11:052648 days ago1545592265
0x0037d16b...fA229d7dc
0.05589279 ETH
-68988762018-12-16 19:05:442655 days ago1544987144
0x0037d16b...fA229d7dc
0.06200784 ETH
Transfer66109572018-10-30 10:37:462703 days ago1540895866
0x0037d16b...fA229d7dc
0.09875456 ETH
Transfer64103622018-09-27 17:48:562736 days ago1538070536
0x0037d16b...fA229d7dc
0.09909648 ETH
Transfer62113712018-08-25 14:07:562769 days ago1535206076
0x0037d16b...fA229d7dc
0.05874698 ETH
Transfer61698992018-08-18 14:04:222776 days ago1534601062
0x0037d16b...fA229d7dc
0.05857379 ETH
Transfer61285842018-08-11 13:55:162783 days ago1533995716
0x0037d16b...fA229d7dc
0.06003108 ETH
Transfer60874702018-08-04 15:15:012790 days ago1533395701
0x0037d16b...fA229d7dc
0.09966641 ETH
Transfer60046102018-07-21 15:20:392804 days ago1532186439
0x0037d16b...fA229d7dc
0.06021195 ETH
Transfer59221892018-07-07 15:00:012818 days ago1530975601
0x0037d16b...fA229d7dc
0.05451721 ETH
Transfer58818542018-06-30 17:24:092825 days ago1530379449
0x0037d16b...fA229d7dc
0.06276145 ETH
Transfer57480462018-06-07 14:05:572848 days ago1528380357
0x0037d16b...fA229d7dc
0.05663073 ETH
Transfer57086212018-05-31 14:03:382855 days ago1527775418
0x0037d16b...fA229d7dc
0.05256674 ETH
Transfer55896682018-05-10 14:05:422876 days ago1525961142
0x0037d16b...fA229d7dc
0.0554816 ETH
Transfer50030582018-01-31 2:07:512975 days ago1517364471  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.