ETH Price: $3,257.19 (-0.36%)

Contract

0x40b378794490D77ACD52E188619Bf0aff5178202
 

Overview

ETH Balance

0.03584810875015627 ETH

Eth Value

$116.76 (@ $3,257.19/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer61604642018-08-16 23:18:032349 days ago1534461483IN
0x40b37879...ff5178202
0.0358481 ETH0.000021051
Sweep61370642018-08-13 0:30:372353 days ago1534120237IN
0x40b37879...ff5178202
0 ETH0.0049993100
Transfer61370452018-08-13 0:24:252353 days ago1534119865IN
0x40b37879...ff5178202
2 ETH0.0010925451.9
Sweep61190232018-08-09 23:13:222356 days ago1533856402IN
0x40b37879...ff5178202
0 ETH0.0049993100
Transfer61189992018-08-09 23:07:032356 days ago1533856023IN
0x40b37879...ff5178202
0.05101278 ETH0.000021051
Sweep60968852018-08-06 5:32:512359 days ago1533533571IN
0x40b37879...ff5178202
0 ETH0.0050057100
Transfer60968612018-08-06 5:26:182359 days ago1533533178IN
0x40b37879...ff5178202
0.05101108 ETH0.000021051
Transfer60734572018-08-02 6:30:122363 days ago1533191412IN
0x40b37879...ff5178202
0.01002443 ETH0.000021051
Transfer55972592018-05-11 21:58:302446 days ago1526075910IN
0x40b37879...ff5178202
0.02105298 ETH0.000021051
Sweep55570432018-05-04 22:03:362453 days ago1525471416IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer55570062018-05-04 21:53:162453 days ago1525470796IN
0x40b37879...ff5178202
0.05007154 ETH0.000021051
Sweep55363342018-05-01 6:17:392456 days ago1525155459IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer55363172018-05-01 6:12:542456 days ago1525155174IN
0x40b37879...ff5178202
0.05004809 ETH0.000021051
Sweep55153332018-04-27 14:40:562460 days ago1524840056IN
0x40b37879...ff5178202
0 ETH0.0024964550
Transfer55153062018-04-27 14:34:112460 days ago1524839651IN
0x40b37879...ff5178202
0.05003219 ETH0.000021051
Sweep54943222018-04-23 23:23:272464 days ago1524525807IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer54943032018-04-23 23:20:422464 days ago1524525642IN
0x40b37879...ff5178202
0.05002984 ETH0.000021051
Sweep54738612018-04-20 11:26:412467 days ago1524223601IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer54738422018-04-20 11:21:262467 days ago1524223286IN
0x40b37879...ff5178202
0.05002403 ETH0.000021051
Sweep54532062018-04-16 21:54:132471 days ago1523915653IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer54531732018-04-16 21:47:462471 days ago1523915266IN
0x40b37879...ff5178202
0.05000391 ETH0.000021051
Sweep54322282018-04-13 8:42:552474 days ago1523608975IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer54321982018-04-13 8:35:452474 days ago1523608545IN
0x40b37879...ff5178202
0.05003708 ETH0.000021051
Sweep54102582018-04-09 16:50:542478 days ago1523292654IN
0x40b37879...ff5178202
0 ETH0.0024996550
Transfer54102292018-04-09 16:43:272478 days ago1523292207IN
0x40b37879...ff5178202
0.05002254 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
61370642018-08-13 0:30:372353 days ago1534120237
0x40b37879...ff5178202
2 ETH
61190232018-08-09 23:13:222356 days ago1533856402
0x40b37879...ff5178202
0.05101278 ETH
60968852018-08-06 5:32:512359 days ago1533533571
0x40b37879...ff5178202
0.08208851 ETH
55570432018-05-04 22:03:362453 days ago1525471416
0x40b37879...ff5178202
0.05007154 ETH
55363342018-05-01 6:17:392456 days ago1525155459
0x40b37879...ff5178202
0.05004809 ETH
55153332018-04-27 14:40:562460 days ago1524840056
0x40b37879...ff5178202
0.05003219 ETH
54943222018-04-23 23:23:272464 days ago1524525807
0x40b37879...ff5178202
0.05002985 ETH
54738612018-04-20 11:26:412467 days ago1524223601
0x40b37879...ff5178202
0.05002403 ETH
54532062018-04-16 21:54:132471 days ago1523915653
0x40b37879...ff5178202
0.05000392 ETH
54322282018-04-13 8:42:552474 days ago1523608975
0x40b37879...ff5178202
0.05003709 ETH
54102582018-04-09 16:50:542478 days ago1523292654
0x40b37879...ff5178202
0.05002254 ETH
53884332018-04-06 1:50:232482 days ago1522979423
0x40b37879...ff5178202
0.05000384 ETH
53670872018-04-02 12:48:492485 days ago1522673329
0x40b37879...ff5178202
0.05005999 ETH
53452472018-03-29 21:45:512489 days ago1522359951
0x40b37879...ff5178202
0.05001139 ETH
53240522018-03-26 7:52:242492 days ago1522050744
0x40b37879...ff5178202
0.05002404 ETH
53018132018-03-22 15:09:132496 days ago1521731353
0x40b37879...ff5178202
0.05012885 ETH
52796372018-03-18 21:57:542500 days ago1521410274
0x40b37879...ff5178202
0.0500237 ETH
52577582018-03-15 4:47:402503 days ago1521089260
0x40b37879...ff5178202
0.05004426 ETH
52362202018-03-11 12:55:342507 days ago1520772934
0x40b37879...ff5178202
0.05000595 ETH
52137022018-03-07 17:06:272511 days ago1520442387
0x40b37879...ff5178202
0.06003379 ETH
50931292018-02-15 6:16:572531 days ago1518675417
0x40b37879...ff5178202
0.05004935 ETH
50732582018-02-11 21:57:592535 days ago1518386279
0x40b37879...ff5178202
0.05003179 ETH
50538382018-02-08 16:00:352538 days ago1518105635
0x40b37879...ff5178202
0.05003521 ETH
50353032018-02-05 13:01:532541 days ago1517835713
0x40b37879...ff5178202
0.05001531 ETH
50164752018-02-02 9:25:102544 days ago1517563510
0x40b37879...ff5178202
0.05002885 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.