ETH Price: $2,339.81 (-5.96%)

Contract

0x0897D06B772F59d4eff90297c51828b62C8D2A46
 

Overview

ETH Balance

0.000000009881238183 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep88827082019-11-06 8:02:521939 days ago1573027372IN
0x0897D06B...62C8D2A46
0 ETH0.0010324122
Sweep88790252019-11-05 18:03:381940 days ago1572977018IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88790072019-11-05 17:58:551940 days ago1572976735IN
0x0897D06B...62C8D2A46
0.06245871 ETH0.00008424
Sweep88748622019-11-05 1:56:471941 days ago1572919007IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88748392019-11-05 1:50:391941 days ago1572918639IN
0x0897D06B...62C8D2A46
0.05282292 ETH0.0002315611
Sweep88719552019-11-04 14:53:571941 days ago1572879237IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88719402019-11-04 14:50:531941 days ago1572879053IN
0x0897D06B...62C8D2A46
0.05344016 ETH0.00012636
Sweep88691642019-11-04 3:54:251941 days ago1572839665IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88691432019-11-04 3:51:051941 days ago1572839465IN
0x0897D06B...62C8D2A46
0.05017654 ETH0.00012636
Sweep88662782019-11-03 16:55:331942 days ago1572800133IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88662632019-11-03 16:51:061942 days ago1572799866IN
0x0897D06B...62C8D2A46
0.0523666 ETH0.00008424
Sweep88634502019-11-03 5:55:141942 days ago1572760514IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88634352019-11-03 5:51:221942 days ago1572760282IN
0x0897D06B...62C8D2A46
0.05197471 ETH0.000094724.5
Sweep88605742019-11-02 18:55:271943 days ago1572720927IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88605492019-11-02 18:50:301943 days ago1572720630IN
0x0897D06B...62C8D2A46
0.05124021 ETH0.00008424
Sweep88577412019-11-02 7:56:351943 days ago1572681395IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88577182019-11-02 7:51:301943 days ago1572681090IN
0x0897D06B...62C8D2A46
0.05065374 ETH0.00010024.76
Sweep88548952019-11-01 20:54:421944 days ago1572641682IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88548752019-11-01 20:51:141944 days ago1572641474IN
0x0897D06B...62C8D2A46
0.05185893 ETH0.0002315611
Sweep88520022019-11-01 9:55:561944 days ago1572602156IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88519822019-11-01 9:51:171944 days ago1572601877IN
0x0897D06B...62C8D2A46
0.05028825 ETH0.00008424
Sweep88491872019-10-31 22:53:541945 days ago1572562434IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88491742019-10-31 22:51:191945 days ago1572562279IN
0x0897D06B...62C8D2A46
0.05361934 ETH0.00008424
Sweep88460812019-10-31 10:54:341945 days ago1572519274IN
0x0897D06B...62C8D2A46
0 ETH0.0010998422
Transfer88460632019-10-31 10:51:051945 days ago1572519065IN
0x0897D06B...62C8D2A46
0.05159648 ETH0.000113675.4
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
88790252019-11-05 18:03:381940 days ago1572977018
0x0897D06B...62C8D2A46
0.06245871 ETH
88748622019-11-05 1:56:471941 days ago1572919007
0x0897D06B...62C8D2A46
0.05282293 ETH
88719552019-11-04 14:53:571941 days ago1572879237
0x0897D06B...62C8D2A46
0.05344016 ETH
88691642019-11-04 3:54:251941 days ago1572839665
0x0897D06B...62C8D2A46
0.05017655 ETH
88662782019-11-03 16:55:331942 days ago1572800133
0x0897D06B...62C8D2A46
0.0523666 ETH
88634502019-11-03 5:55:141942 days ago1572760514
0x0897D06B...62C8D2A46
0.05197472 ETH
88605742019-11-02 18:55:271943 days ago1572720927
0x0897D06B...62C8D2A46
0.05124021 ETH
88577412019-11-02 7:56:351943 days ago1572681395
0x0897D06B...62C8D2A46
0.05065374 ETH
88548952019-11-01 20:54:421944 days ago1572641682
0x0897D06B...62C8D2A46
0.05185894 ETH
88520022019-11-01 9:55:561944 days ago1572602156
0x0897D06B...62C8D2A46
0.05028825 ETH
88491872019-10-31 22:53:541945 days ago1572562434
0x0897D06B...62C8D2A46
0.05361934 ETH
88460812019-10-31 10:54:341945 days ago1572519274
0x0897D06B...62C8D2A46
0.05159649 ETH
88432352019-10-30 23:55:301946 days ago1572479730
0x0897D06B...62C8D2A46
0.0541109 ETH
87650052019-10-18 12:57:011958 days ago1571403421
0x0897D06B...62C8D2A46
0.05089381 ETH
87484102019-10-15 21:57:281961 days ago1571176648
0x0897D06B...62C8D2A46
0.05021929 ETH
87377252019-10-14 5:54:471962 days ago1571032487
0x0897D06B...62C8D2A46
0.05119502 ETH
87348012019-10-13 18:54:411963 days ago1570992881
0x0897D06B...62C8D2A46
0.05050369 ETH
87319362019-10-13 7:55:121963 days ago1570953312
0x0897D06B...62C8D2A46
0.05176853 ETH
87289572019-10-12 20:55:121964 days ago1570913712
0x0897D06B...62C8D2A46
0.05277906 ETH
87260342019-10-12 9:53:421964 days ago1570874022
0x0897D06B...62C8D2A46
0.05171623 ETH
87231702019-10-11 22:54:531965 days ago1570834493
0x0897D06B...62C8D2A46
0.05291521 ETH
87196992019-10-11 9:56:261965 days ago1570787786
0x0897D06B...62C8D2A46
0.05303788 ETH
87162662019-10-10 20:54:571966 days ago1570740897
0x0897D06B...62C8D2A46
0.05286081 ETH
87131032019-10-10 8:54:121966 days ago1570697652
0x0897D06B...62C8D2A46
0.05245155 ETH
87101892019-10-09 21:54:001967 days ago1570658040
0x0897D06B...62C8D2A46
0.05022343 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.