ETH Price: $2,924.71 (+4.68%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep119016722021-02-21 17:34:381355 days ago1613928878IN
0x3708174C...99e250033
0 ETH0.00974091163.2
Sweep110653692020-10-16 6:48:361484 days ago1602830916IN
0x3708174C...99e250033
0 ETH0.0095672863.6
Sweep108027772020-09-05 17:31:021524 days ago1599327062IN
0x3708174C...99e250033
0 ETH0.01919038348.84
Sweep106143552020-08-07 18:30:351553 days ago1596825035IN
0x3708174C...99e250033
0 ETH0.00780243145.5
Sweep105943682020-08-04 16:23:151556 days ago1596558195IN
0x3708174C...99e250033
0 ETH0.0043436281
Sweep104932922020-07-20 0:52:121572 days ago1595206332IN
0x3708174C...99e250033
0 ETH0.0028957554
Sweep104872892020-07-19 2:41:331573 days ago1595126493IN
0x3708174C...99e250033
0 ETH0.0030566257
Sweep102884412020-06-18 7:43:481604 days ago1592466228IN
0x3708174C...99e250033
0 ETH0.0018618634.5
Sweep101863312020-06-02 12:11:431619 days ago1591099903IN
0x3708174C...99e250033
0 ETH0.0062051941.25000035
Sweep101618332020-05-29 16:48:451623 days ago1590770925IN
0x3708174C...99e250033
0 ETH0.0022522542
Sweep101078352020-05-21 7:17:481632 days ago1590045468IN
0x3708174C...99e250033
0 ETH0.0034865463
Sweep100717122020-05-15 16:09:091637 days ago1589558949IN
0x3708174C...99e250033
0 ETH0.0021326738.53626724
Sweep100223972020-05-08 0:39:171645 days ago1588898357IN
0x3708174C...99e250033
0 ETH0.0033094322
Sweep100202702020-05-07 16:48:241645 days ago1588870104IN
0x3708174C...99e250033
0 ETH0.001328224
Sweep100161262020-05-07 1:15:091646 days ago1588814109IN
0x3708174C...99e250033
0 ETH0.0033094322
Sweep100132092020-05-06 14:18:221646 days ago1588774702IN
0x3708174C...99e250033
0 ETH0.0043323528.8
Sweep100028972020-05-05 0:06:341648 days ago1588637194IN
0x3708174C...99e250033
0 ETH0.0033094322
Sweep99731402020-04-30 9:31:041653 days ago1588239064IN
0x3708174C...99e250033
0 ETH0.0054027935.91592887
Sweep99731072020-04-30 9:23:041653 days ago1588238584IN
0x3708174C...99e250033
0 ETH0.0048513332.25
Sweep99729012020-04-30 8:38:031653 days ago1588235883IN
0x3708174C...99e250033
0 ETH0.0016087530
Sweep99728182020-04-30 8:16:391653 days ago1588234599IN
0x3708174C...99e250033
0 ETH0.0012065622.5
Sweep99717872020-04-30 4:33:241653 days ago1588221204IN
0x3708174C...99e250033
0 ETH0.0013697124.75
Sweep97885012020-04-01 21:34:261681 days ago1585776866IN
0x3708174C...99e250033
0 ETH0.0011797522
Sweep97629652020-03-28 23:25:191685 days ago1585437919IN
0x3708174C...99e250033
0 ETH0.0033094322
Sweep97477902020-03-26 15:23:081687 days ago1585236188IN
0x3708174C...99e250033
0 ETH0.0011797522
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
75178862019-04-07 0:48:262042 days ago1554598106
0x3708174C...99e250033
103 ETH
64531512018-10-04 17:48:272226 days ago1538675307
0x3708174C...99e250033
49.997 ETH
63978682018-09-25 16:27:382235 days ago1537892858
0x3708174C...99e250033
34.5 ETH
63167512018-09-12 7:17:382249 days ago1536736658
0x3708174C...99e250033
30.9 ETH
62871342018-09-07 7:59:242254 days ago1536307164
0x3708174C...99e250033
30.95 ETH
62348632018-08-29 13:23:362262 days ago1535549016
0x3708174C...99e250033
36.48 ETH
52528612018-03-14 8:37:052431 days ago1521016625
0x3708174C...99e250033
111.99 ETH
41540182017-08-13 20:50:132643 days ago1502657413  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.