ETH Price: $2,729.32 (+0.29%)

Contract

0x84157aa553D513D30843f41B57286D0aA53D4E1e
 

Overview

ETH Balance

0.000000002309813152 ETH

Eth Value

Less Than $0.01 (@ $2,729.32/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep67794542018-11-27 1:31:152277 days ago1543282275IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer67794392018-11-27 1:26:522277 days ago1543282012IN
0x84157aa5...aA53D4E1e
0.20029715 ETH0.000063153
Sweep67621902018-11-24 5:56:432280 days ago1543039003IN
0x84157aa5...aA53D4E1e
0 ETH0.0024996550
Transfer67621722018-11-24 5:53:122280 days ago1543038792IN
0x84157aa5...aA53D4E1e
0.20042624 ETH0.000063153
Sweep66539092018-11-06 11:54:592298 days ago1541505299IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer66538922018-11-06 11:51:132298 days ago1541505073IN
0x84157aa5...aA53D4E1e
0.20009235 ETH0.000063153
Sweep63217892018-09-13 3:27:082352 days ago1536809228IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer63217082018-09-13 3:06:412352 days ago1536808001IN
0x84157aa5...aA53D4E1e
0.20004186 ETH0.000063153
Sweep62978632018-09-09 3:36:462356 days ago1536464206IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer62978432018-09-09 3:31:582356 days ago1536463918IN
0x84157aa5...aA53D4E1e
0.20050629 ETH0.000063153
Sweep62728662018-09-04 22:44:402360 days ago1536101080IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer62728442018-09-04 22:39:332360 days ago1536100773IN
0x84157aa5...aA53D4E1e
0.20003183 ETH0.000063153
Sweep62490142018-08-31 22:33:032364 days ago1535754783IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer62489992018-08-31 22:27:242364 days ago1535754444IN
0x84157aa5...aA53D4E1e
0.20439973 ETH0.00008424
Sweep62201742018-08-27 1:33:072369 days ago1535333587IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer62201482018-08-27 1:26:372369 days ago1535333197IN
0x84157aa5...aA53D4E1e
0.20054759 ETH0.000021051
Sweep61948062018-08-22 18:33:472374 days ago1534962827IN
0x84157aa5...aA53D4E1e
0 ETH0.0025028550
Transfer61947832018-08-22 18:28:062374 days ago1534962486IN
0x84157aa5...aA53D4E1e
0.20129816 ETH0.000021051
Sweep61524672018-08-15 14:58:092381 days ago1534345089IN
0x84157aa5...aA53D4E1e
0 ETH0.0049993100
Transfer61524432018-08-15 14:53:222381 days ago1534344802IN
0x84157aa5...aA53D4E1e
0.20105216 ETH0.000021051
Sweep61258012018-08-11 2:31:562385 days ago1533954716IN
0x84157aa5...aA53D4E1e
0 ETH0.0050057100
Transfer61257672018-08-11 2:24:362385 days ago1533954276IN
0x84157aa5...aA53D4E1e
0.20048166 ETH0.000021051
Sweep60964842018-08-06 3:54:582390 days ago1533527698IN
0x84157aa5...aA53D4E1e
0 ETH0.0050057100
Transfer60964672018-08-06 3:51:122390 days ago1533527472IN
0x84157aa5...aA53D4E1e
0.20063762 ETH0.000021051
Sweep60668752018-08-01 3:38:122395 days ago1533094692IN
0x84157aa5...aA53D4E1e
0 ETH0.0050057100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
67794542018-11-27 1:31:152277 days ago1543282275
0x84157aa5...aA53D4E1e
0.20029716 ETH
67621902018-11-24 5:56:432280 days ago1543039003
0x84157aa5...aA53D4E1e
0.20042624 ETH
66539092018-11-06 11:54:592298 days ago1541505299
0x84157aa5...aA53D4E1e
0.20009235 ETH
63217892018-09-13 3:27:082352 days ago1536809228
0x84157aa5...aA53D4E1e
0.20004187 ETH
62978632018-09-09 3:36:462356 days ago1536464206
0x84157aa5...aA53D4E1e
0.20050629 ETH
62728662018-09-04 22:44:402360 days ago1536101080
0x84157aa5...aA53D4E1e
0.20003184 ETH
62490142018-08-31 22:33:032364 days ago1535754783
0x84157aa5...aA53D4E1e
0.20439973 ETH
62201742018-08-27 1:33:072369 days ago1535333587
0x84157aa5...aA53D4E1e
0.2005476 ETH
61948062018-08-22 18:33:472374 days ago1534962827
0x84157aa5...aA53D4E1e
0.20129817 ETH
61524672018-08-15 14:58:092381 days ago1534345089
0x84157aa5...aA53D4E1e
0.20105216 ETH
61258012018-08-11 2:31:562385 days ago1533954716
0x84157aa5...aA53D4E1e
0.20048167 ETH
60964842018-08-06 3:54:582390 days ago1533527698
0x84157aa5...aA53D4E1e
0.20063763 ETH
60668752018-08-01 3:38:122395 days ago1533094692
0x84157aa5...aA53D4E1e
0.20092349 ETH
60421042018-07-28 0:01:392399 days ago1532736099
0x84157aa5...aA53D4E1e
0.20023448 ETH
60077532018-07-22 3:48:222405 days ago1532231302
0x84157aa5...aA53D4E1e
0.20034104 ETH
59789572018-07-17 5:53:472410 days ago1531806827
0x84157aa5...aA53D4E1e
0.20049312 ETH
59430602018-07-11 5:39:302416 days ago1531287570
0x84157aa5...aA53D4E1e
0.20001382 ETH
59239052018-07-07 22:02:432420 days ago1531000963
0x84157aa5...aA53D4E1e
0.20047504 ETH
59064632018-07-04 22:06:102423 days ago1530741970
0x84157aa5...aA53D4E1e
0.2002933 ETH
58704912018-06-28 18:29:122429 days ago1530210552
0x84157aa5...aA53D4E1e
0.201029 ETH
58490842018-06-25 0:58:412432 days ago1529888321
0x84157aa5...aA53D4E1e
0.20131832 ETH
58285282018-06-21 13:02:502436 days ago1529586170
0x84157aa5...aA53D4E1e
0.20040463 ETH
58086142018-06-18 3:17:562439 days ago1529291876
0x84157aa5...aA53D4E1e
0.20033201 ETH
57905672018-06-15 1:34:402442 days ago1529026480
0x84157aa5...aA53D4E1e
0.20020624 ETH
57713942018-06-11 17:25:522446 days ago1528737952
0x84157aa5...aA53D4E1e
0.20035039 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.