ETH Price: $2,353.89 (-3.19%)

Contract

0x040dFe0B547fE0C4F035BFb8f1D8C7b39d2eD77A
 

Overview

ETH Balance

0.021421047637641138 ETH

Eth Value

$50.42 (@ $2,353.89/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer88487002019-10-31 21:07:501945 days ago1572556070IN
0x040dFe0B...39d2eD77A
0.02142104 ETH0.000021051
Sweep88052402019-10-24 21:10:081952 days ago1571951408IN
0x040dFe0B...39d2eD77A
0 ETH0.0011012522
Transfer88052252019-10-24 21:07:341952 days ago1571951254IN
0x040dFe0B...39d2eD77A
0.07907593 ETH0.000021051
Sweep87608202019-10-17 21:07:111959 days ago1571346431IN
0x040dFe0B...39d2eD77A
0 ETH0.0011012522
Transfer87608042019-10-17 21:04:001959 days ago1571346240IN
0x040dFe0B...39d2eD77A
0.0825681 ETH0.000021051
Sweep87163212019-10-10 21:06:521966 days ago1570741612IN
0x040dFe0B...39d2eD77A
0 ETH0.0011012522
Transfer87163032019-10-10 21:02:511966 days ago1570741371IN
0x040dFe0B...39d2eD77A
0.08323482 ETH0.000021051
Sweep86715372019-10-03 21:04:391973 days ago1570136679IN
0x040dFe0B...39d2eD77A
0 ETH0.0011012522
Transfer86715222019-10-03 21:01:311973 days ago1570136491IN
0x040dFe0B...39d2eD77A
0.08106509 ETH0.000021051
Transfer86268002019-09-26 21:00:151980 days ago1569531615IN
0x040dFe0B...39d2eD77A
0.01003431 ETH0.000021051
Transfer84451072019-08-29 12:32:382009 days ago1567081958IN
0x040dFe0B...39d2eD77A
0.03518481 ETH0.000021051
Sweep84001722019-08-22 12:39:072016 days ago1566477547IN
0x040dFe0B...39d2eD77A
0 ETH0.0010998422
Transfer84001552019-08-22 12:35:172016 days ago1566477317IN
0x040dFe0B...39d2eD77A
0.06500516 ETH0.000021051
Sweep83551262019-08-15 12:35:272023 days ago1565872527IN
0x040dFe0B...39d2eD77A
0 ETH0.0010998422
Transfer83551072019-08-15 12:31:582023 days ago1565872318IN
0x040dFe0B...39d2eD77A
0.0644999 ETH0.000021051
Sweep83099702019-08-08 12:31:112030 days ago1565267471IN
0x040dFe0B...39d2eD77A
0 ETH0.0011012522
Transfer83099572019-08-08 12:28:342030 days ago1565267314IN
0x040dFe0B...39d2eD77A
0.03231516 ETH0.000021051
Transfer82647862019-08-01 12:23:112037 days ago1564662191IN
0x040dFe0B...39d2eD77A
0.0453404 ETH0.000021051
Sweep82197772019-07-25 12:25:162044 days ago1564057516IN
0x040dFe0B...39d2eD77A
0 ETH0.0014997930
Transfer82197612019-07-25 12:21:162044 days ago1564057276IN
0x040dFe0B...39d2eD77A
0.07124738 ETH0.000021051
Sweep81746582019-07-18 12:21:122051 days ago1563452472IN
0x040dFe0B...39d2eD77A
0 ETH0.0011012522
Transfer81746422019-07-18 12:19:332051 days ago1563452373IN
0x040dFe0B...39d2eD77A
0.0678025 ETH0.000021051
Transfer81298832019-07-11 12:17:212058 days ago1562847441IN
0x040dFe0B...39d2eD77A
0.01009344 ETH0.000021051
Sweep77399072019-05-11 15:02:022118 days ago1557586922IN
0x040dFe0B...39d2eD77A
0 ETH0.0024996550
Transfer77398812019-05-11 14:58:242118 days ago1557586704IN
0x040dFe0B...39d2eD77A
0.03782786 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
88052402019-10-24 21:10:081952 days ago1571951408
0x040dFe0B...39d2eD77A
0.07907594 ETH
87608202019-10-17 21:07:111959 days ago1571346431
0x040dFe0B...39d2eD77A
0.0825681 ETH
87163212019-10-10 21:06:521966 days ago1570741612
0x040dFe0B...39d2eD77A
0.08323483 ETH
86715372019-10-03 21:04:391973 days ago1570136679
0x040dFe0B...39d2eD77A
0.12628422 ETH
84001722019-08-22 12:39:072016 days ago1566477547
0x040dFe0B...39d2eD77A
0.06500516 ETH
83551262019-08-15 12:35:272023 days ago1565872527
0x040dFe0B...39d2eD77A
0.0644999 ETH
83099702019-08-08 12:31:112030 days ago1565267471
0x040dFe0B...39d2eD77A
0.07765558 ETH
82197772019-07-25 12:25:162044 days ago1564057516
0x040dFe0B...39d2eD77A
0.07124738 ETH
81746582019-07-18 12:21:122051 days ago1563452472
0x040dFe0B...39d2eD77A
0.07789595 ETH
77399072019-05-11 15:02:022118 days ago1557586922
0x040dFe0B...39d2eD77A
0.07006366 ETH
76501752019-04-27 14:59:452132 days ago1556377185
0x040dFe0B...39d2eD77A
0.08581634 ETH
76051992019-04-20 14:59:112139 days ago1555772351
0x040dFe0B...39d2eD77A
0.10574897 ETH
74259192019-03-23 16:00:062167 days ago1553356806
0x040dFe0B...39d2eD77A
0.0529762 ETH
73809892019-03-16 15:57:392174 days ago1552751859
0x040dFe0B...39d2eD77A
0.10004753 ETH
73400462019-03-10 7:19:542181 days ago1552202394
0x040dFe0B...39d2eD77A
0.07630628 ETH
72951322019-03-03 7:13:592188 days ago1551597239
0x040dFe0B...39d2eD77A
0.10002622 ETH
72632442019-02-24 21:25:592194 days ago1551043559
0x040dFe0B...39d2eD77A
0.10001508 ETH
72362762019-02-18 13:32:552200 days ago1550496775
0x040dFe0B...39d2eD77A
0.10004616 ETH
72113562019-02-12 14:46:372206 days ago1549982797
0x040dFe0B...39d2eD77A
0.10013288 ETH
71862792019-02-07 4:00:132212 days ago1549512013
0x040dFe0B...39d2eD77A
0.08536823 ETH
71520092019-01-31 4:00:362219 days ago1548907236
0x040dFe0B...39d2eD77A
0.10005828 ETH
71236452019-01-25 10:54:272225 days ago1548413667
0x040dFe0B...39d2eD77A
0.10010195 ETH
70927762019-01-19 12:26:542231 days ago1547900814
0x040dFe0B...39d2eD77A
0.11001897 ETH
69944732019-01-01 23:56:092248 days ago1546386969
0x040dFe0B...39d2eD77A
0.0833273 ETH
69530702018-12-25 23:56:502255 days ago1545782210
0x040dFe0B...39d2eD77A
0.10008157 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

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

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.