ETH Price: $3,201.60 (+5.04%)

Contract

0xd7e48f93109A723dc86125BEd3169BD84D94a6c4
 

Overview

ETH Balance

0.000000007270913344 ETH

Eth Value

Less Than $0.01 (@ $3,201.60/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep50976622018-02-16 0:32:352459 days ago1518741155IN
0xd7e48f93...84D94a6c4
0 ETH0.0025028550
Transfer50976102018-02-16 0:22:432459 days ago1518740563IN
0xd7e48f93...84D94a6c4
2.439 ETH0.00004212
Sweep48842042018-01-10 7:59:482496 days ago1515571188IN
0xd7e48f93...84D94a6c4
0 ETH0.0044993790
Transfer48841682018-01-10 7:48:492496 days ago1515570529IN
0xd7e48f93...84D94a6c4
2.4 ETH0.00242086115
Sweep47293732017-12-14 5:03:192523 days ago1513227799IN
0xd7e48f93...84D94a6c4
0 ETH0.002552951
Transfer47293022017-12-14 4:43:542523 days ago1513226634IN
0xd7e48f93...84D94a6c4
1.61934881 ETH0.0003368116
Sweep46123802017-11-24 9:35:012543 days ago1511516101IN
0xd7e48f93...84D94a6c4
0 ETH0.0009998620
Transfer46123742017-11-24 9:33:412543 days ago1511516021IN
0xd7e48f93...84D94a6c4
0.0644142 ETH0.00008424
Sweep46088102017-11-23 19:57:202543 days ago1511467040IN
0xd7e48f93...84D94a6c4
0 ETH0.0010011420
Transfer46087932017-11-23 19:53:422543 days ago1511466822IN
0xd7e48f93...84D94a6c4
0.60430679 ETH0.00008424
Sweep45775442017-11-18 19:07:552548 days ago1511032075IN
0xd7e48f93...84D94a6c4
0 ETH0.0010011420
Transfer45775342017-11-18 19:04:442548 days ago1511031884IN
0xd7e48f93...84D94a6c4
0.60111103 ETH0.00008424
Sweep45468392017-11-13 20:03:122553 days ago1510603392IN
0xd7e48f93...84D94a6c4
0 ETH0.0010011420
Transfer45468222017-11-13 20:00:192553 days ago1510603219IN
0xd7e48f93...84D94a6c4
0.60278867 ETH0.00008424
Sweep45130052017-11-08 9:59:502559 days ago1510135190IN
0xd7e48f93...84D94a6c4
0 ETH0.0010011420
Transfer45129932017-11-08 9:57:032559 days ago1510135023IN
0xd7e48f93...84D94a6c4
0.37620477 ETH0.00008424
Sweep44936592017-11-05 7:13:302562 days ago1509866010IN
0xd7e48f93...84D94a6c4
0 ETH0.0010011420
Transfer44936532017-11-05 7:12:222562 days ago1509865942IN
0xd7e48f93...84D94a6c4
0.60716354 ETH0.00008424
Sweep44600092017-10-30 21:00:132567 days ago1509397213IN
0xd7e48f93...84D94a6c4
0 ETH0.0010011420
Transfer44599992017-10-30 20:56:552567 days ago1509397015IN
0xd7e48f93...84D94a6c4
0.60184307 ETH0.00008424
Sweep44285272017-10-25 18:53:382572 days ago1508957618IN
0xd7e48f93...84D94a6c4
0 ETH0.0015517631
Transfer44285172017-10-25 18:51:342572 days ago1508957494IN
0xd7e48f93...84D94a6c4
0.60749361 ETH0.00008424
Sweep43963612017-10-20 15:23:192577 days ago1508512999IN
0xd7e48f93...84D94a6c4
0 ETH0.0015517631
Transfer43963552017-10-20 15:21:192577 days ago1508512879IN
0xd7e48f93...84D94a6c4
0.60667429 ETH0.00008424
Sweep43670412017-10-15 4:51:022583 days ago1508043062IN
0xd7e48f93...84D94a6c4
0 ETH0.0015517631
View all transactions

Latest 22 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
50976622018-02-16 0:32:352459 days ago1518741155
0xd7e48f93...84D94a6c4
2.439 ETH
48842042018-01-10 7:59:482496 days ago1515571188
0xd7e48f93...84D94a6c4
2.4 ETH
47293732017-12-14 5:03:192523 days ago1513227799
0xd7e48f93...84D94a6c4
1.61934881 ETH
46123802017-11-24 9:35:012543 days ago1511516101
0xd7e48f93...84D94a6c4
0.0644142 ETH
46088102017-11-23 19:57:202543 days ago1511467040
0xd7e48f93...84D94a6c4
0.6043068 ETH
45775442017-11-18 19:07:552548 days ago1511032075
0xd7e48f93...84D94a6c4
0.60111103 ETH
45468392017-11-13 20:03:122553 days ago1510603392
0xd7e48f93...84D94a6c4
0.60278868 ETH
45130052017-11-08 9:59:502559 days ago1510135190
0xd7e48f93...84D94a6c4
0.37620477 ETH
44936592017-11-05 7:13:302562 days ago1509866010
0xd7e48f93...84D94a6c4
0.60716354 ETH
44600092017-10-30 21:00:132567 days ago1509397213
0xd7e48f93...84D94a6c4
0.60184308 ETH
44285272017-10-25 18:53:382572 days ago1508957618
0xd7e48f93...84D94a6c4
0.60749362 ETH
43963612017-10-20 15:23:192577 days ago1508512999
0xd7e48f93...84D94a6c4
0.6066743 ETH
43670412017-10-15 4:51:022583 days ago1508043062
0xd7e48f93...84D94a6c4
0.60021723 ETH
43474352017-10-08 10:43:222590 days ago1507459402
0xd7e48f93...84D94a6c4
0.60110223 ETH
43285442017-10-01 20:54:102596 days ago1506891250
0xd7e48f93...84D94a6c4
0.60508009 ETH
43102962017-09-25 11:48:002603 days ago1506340080
0xd7e48f93...84D94a6c4
0.60245329 ETH
42916332017-09-19 16:11:162608 days ago1505837476
0xd7e48f93...84D94a6c4
0.60307292 ETH
42732862017-09-14 13:59:452613 days ago1505397585
0xd7e48f93...84D94a6c4
0.60101365 ETH
42544532017-09-09 7:14:292619 days ago1504941269
0xd7e48f93...84D94a6c4
0.60003658 ETH
42362252017-09-04 4:04:072624 days ago1504497847
0xd7e48f93...84D94a6c4
0.60467693 ETH
42188612017-08-30 5:38:392629 days ago1504071519
0xd7e48f93...84D94a6c4
0.60275297 ETH
41922542017-08-23 0:59:222636 days ago1503449962  Contract Creation0 ETH
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.