ETH Price: $3,646.98 (-0.26%)
 

Overview

ETH Balance

0.039041993623515031 ETH

Eth Value

$142.39 (@ $3,646.98/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer73022092019-03-04 9:40:572134 days ago1551692457IN
0x84b5f762...bC281912B
0.03904199 ETH0.00012636
Sweep71384852019-01-28 9:33:062169 days ago1548667986IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer71384682019-01-28 9:27:452169 days ago1548667665IN
0x84b5f762...bC281912B
0.14445194 ETH0.0002105110
Sweep71284142019-01-26 9:31:462171 days ago1548495106IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer71283972019-01-26 9:27:262171 days ago1548494846IN
0x84b5f762...bC281912B
0.17792324 ETH0.0002105110
Sweep71182962019-01-24 9:31:252173 days ago1548322285IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer71182802019-01-24 9:27:052173 days ago1548322025IN
0x84b5f762...bC281912B
0.18325238 ETH0.0002105110
Sweep71081972019-01-22 9:33:102175 days ago1548149590IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer71081782019-01-22 9:27:542175 days ago1548149274IN
0x84b5f762...bC281912B
0.17949587 ETH0.0002105110
Sweep70977172019-01-20 9:32:472177 days ago1547976767IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70976972019-01-20 9:27:462177 days ago1547976466IN
0x84b5f762...bC281912B
0.19328969 ETH0.0002105110
Sweep70864392019-01-18 9:35:032179 days ago1547804103IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70864172019-01-18 9:29:552179 days ago1547803795IN
0x84b5f762...bC281912B
0.1952798 ETH0.0002105110
Sweep70752562019-01-16 9:33:152181 days ago1547631195IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70752392019-01-16 9:28:012181 days ago1547630881IN
0x84b5f762...bC281912B
0.1908831 ETH0.0002105110
Sweep70640862019-01-14 9:32:182183 days ago1547458338IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70640642019-01-14 9:27:112183 days ago1547458031IN
0x84b5f762...bC281912B
0.18764829 ETH0.0002105110
Sweep70528802019-01-12 9:31:002185 days ago1547285460IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70528642019-01-12 9:27:212185 days ago1547285241IN
0x84b5f762...bC281912B
0.18684369 ETH0.0002105110
Sweep70417272019-01-10 9:35:052187 days ago1547112905IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70417062019-01-10 9:27:392187 days ago1547112459IN
0x84b5f762...bC281912B
0.17376418 ETH0.0002105110
Sweep70305442019-01-08 9:31:382189 days ago1546939898IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70305252019-01-08 9:27:492189 days ago1546939669IN
0x84b5f762...bC281912B
0.18477325 ETH0.0002105110
Sweep70193972019-01-06 9:31:132191 days ago1546767073IN
0x84b5f762...bC281912B
0 ETH0.0025028550
Transfer70193782019-01-06 9:26:052191 days ago1546766765IN
0x84b5f762...bC281912B
0.17713063 ETH0.0002105110

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
71384852019-01-28 9:33:062169 days ago1548667986
0x84b5f762...bC281912B
0.14445195 ETH
71284142019-01-26 9:31:462171 days ago1548495106
0x84b5f762...bC281912B
0.17792325 ETH
71182962019-01-24 9:31:252173 days ago1548322285
0x84b5f762...bC281912B
0.18325239 ETH
71081972019-01-22 9:33:102175 days ago1548149590
0x84b5f762...bC281912B
0.17949588 ETH
70977172019-01-20 9:32:472177 days ago1547976767
0x84b5f762...bC281912B
0.19328969 ETH
70864392019-01-18 9:35:032179 days ago1547804103
0x84b5f762...bC281912B
0.19527981 ETH
70752562019-01-16 9:33:152181 days ago1547631195
0x84b5f762...bC281912B
0.1908831 ETH
70640862019-01-14 9:32:182183 days ago1547458338
0x84b5f762...bC281912B
0.1876483 ETH
70528802019-01-12 9:31:002185 days ago1547285460
0x84b5f762...bC281912B
0.18684369 ETH
70417272019-01-10 9:35:052187 days ago1547112905
0x84b5f762...bC281912B
0.17376419 ETH
70305442019-01-08 9:31:382189 days ago1546939898
0x84b5f762...bC281912B
0.18477326 ETH
70193972019-01-06 9:31:132191 days ago1546767073
0x84b5f762...bC281912B
0.17713063 ETH
47657862017-12-20 13:38:272573 days ago1513777107  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.