ETH Price: $2,494.86 (-0.75%)

Contract

0xD40c6290ECaD5D774239bb9214b43D311EC67163
 

Overview

ETH Balance

0.029490637724954187 ETH

Eth Value

$73.57 (@ $2,494.86/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer89461582019-11-16 19:14:411928 days ago1573931681IN
0xD40c6290...11EC67163
0.02949062 ETH0.000021051
Sweep89040552019-11-09 19:14:181935 days ago1573326858IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer89040402019-11-09 19:09:151935 days ago1573326555IN
0xD40c6290...11EC67163
0.10007432 ETH0.000021051
Sweep88812512019-11-06 2:33:001938 days ago1573007580IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer88812232019-11-06 2:27:111938 days ago1573007231IN
0xD40c6290...11EC67163
0.10010795 ETH0.000021051
Sweep88584872019-11-02 10:46:211942 days ago1572691581IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer88584742019-11-02 10:42:351942 days ago1572691355IN
0xD40c6290...11EC67163
0.10006096 ETH0.000021051
Sweep88357962019-10-29 19:15:541946 days ago1572376554IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer88357732019-10-29 19:10:531946 days ago1572376253IN
0xD40c6290...11EC67163
0.10005151 ETH0.000021051
Sweep88060012019-10-25 0:00:441950 days ago1571961644IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer88059852019-10-24 23:57:201950 days ago1571961440IN
0xD40c6290...11EC67163
0.10003709 ETH0.000021051
Sweep87682052019-10-19 1:02:051956 days ago1571446925IN
0xD40c6290...11EC67163
0 ETH0.0010998422
Transfer87681892019-10-19 0:54:341956 days ago1571446474IN
0xD40c6290...11EC67163
0.01003358 ETH0.000021051
Transfer84008882019-08-22 15:28:242014 days ago1566487704IN
0xD40c6290...11EC67163
0.04773572 ETH0.000021051
Sweep83559072019-08-15 15:32:422021 days ago1565883162IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer83558862019-08-15 15:27:392021 days ago1565882859IN
0xD40c6290...11EC67163
0.10009708 ETH0.000021051
Sweep83420672019-08-13 12:00:462023 days ago1565697646IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer83420542019-08-13 11:57:222023 days ago1565697442IN
0xD40c6290...11EC67163
0.10016957 ETH0.000021051
Sweep83282792019-08-11 8:42:522025 days ago1565512972IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer83282662019-08-11 8:38:472025 days ago1565512727IN
0xD40c6290...11EC67163
0.10004479 ETH0.000021051
Sweep83138562019-08-09 2:58:342027 days ago1565319514IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer83138362019-08-09 2:54:242027 days ago1565319264IN
0xD40c6290...11EC67163
0.10022565 ETH0.000021051
Sweep82996612019-08-06 22:09:182030 days ago1565129358IN
0xD40c6290...11EC67163
0 ETH0.0011012522
Transfer82996432019-08-06 22:05:192030 days ago1565129119IN
0xD40c6290...11EC67163
0.10016254 ETH0.000021051
Sweep82853252019-08-04 16:42:332032 days ago1564936953IN
0xD40c6290...11EC67163
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
89040552019-11-09 19:14:181935 days ago1573326858
0xD40c6290...11EC67163
0.10007432 ETH
88812512019-11-06 2:33:001938 days ago1573007580
0xD40c6290...11EC67163
0.10010795 ETH
88584872019-11-02 10:46:211942 days ago1572691581
0xD40c6290...11EC67163
0.10006096 ETH
88357962019-10-29 19:15:541946 days ago1572376554
0xD40c6290...11EC67163
0.10005151 ETH
88060012019-10-25 0:00:441950 days ago1571961644
0xD40c6290...11EC67163
0.1000371 ETH
87682052019-10-19 1:02:051956 days ago1571446925
0xD40c6290...11EC67163
0.05776931 ETH
83559072019-08-15 15:32:422021 days ago1565883162
0xD40c6290...11EC67163
0.10009709 ETH
83420672019-08-13 12:00:462023 days ago1565697646
0xD40c6290...11EC67163
0.10016957 ETH
83282792019-08-11 8:42:522025 days ago1565512972
0xD40c6290...11EC67163
0.10004479 ETH
83138562019-08-09 2:58:342027 days ago1565319514
0xD40c6290...11EC67163
0.10022565 ETH
82996612019-08-06 22:09:182030 days ago1565129358
0xD40c6290...11EC67163
0.10016255 ETH
82853252019-08-04 16:42:332032 days ago1564936953
0xD40c6290...11EC67163
0.10004939 ETH
82712872019-08-02 12:27:342034 days ago1564748854
0xD40c6290...11EC67163
0.10003506 ETH
82577652019-07-31 10:08:592036 days ago1564567739
0xD40c6290...11EC67163
0.10011371 ETH
82438452019-07-29 6:06:492038 days ago1564380409
0xD40c6290...11EC67163
0.10002973 ETH
82298582019-07-27 2:05:102040 days ago1564193110
0xD40c6290...11EC67163
0.10010595 ETH
82161732019-07-24 22:52:482043 days ago1564008768
0xD40c6290...11EC67163
0.10002993 ETH
82025262019-07-22 20:08:002045 days ago1563826080
0xD40c6290...11EC67163
0.10007894 ETH
81887162019-07-20 16:40:542047 days ago1563640854
0xD40c6290...11EC67163
0.10020482 ETH
81751922019-07-18 14:17:512049 days ago1563459471
0xD40c6290...11EC67163
0.10004876 ETH
81617432019-07-16 11:49:302051 days ago1563277770
0xD40c6290...11EC67163
0.10009449 ETH
81480962019-07-14 8:24:042053 days ago1563092644
0xD40c6290...11EC67163
0.10000324 ETH
81342622019-07-12 4:43:262055 days ago1562906606
0xD40c6290...11EC67163
0.10025787 ETH
81208622019-07-10 2:42:032057 days ago1562726523
0xD40c6290...11EC67163
0.10013121 ETH
81072232019-07-07 23:48:092060 days ago1562543289
0xD40c6290...11EC67163
0.10007369 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.