ETH Price: $2,591.96 (+1.17%)

Contract

0xABf81F6fd1663bE831E82C8B764b040D6968fb26
 

Overview

ETH Balance

0.000000007151044811 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep81663022019-07-17 4:53:091893 days ago1563339189IN
0xABf81F6f...D6968fb26
0 ETH0.0015017130
Transfer81662852019-07-17 4:49:031893 days ago1563338943IN
0xABf81F6f...D6968fb26
0.10572356 ETH0.000021051
Sweep81613842019-07-16 10:31:451894 days ago1563273105IN
0xABf81F6f...D6968fb26
0 ETH0.0015017130
Transfer81613632019-07-16 10:27:271894 days ago1563272847IN
0xABf81F6f...D6968fb26
0.10464453 ETH0.000021051
Sweep81543952019-07-15 7:59:261895 days ago1563177566IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81543712019-07-15 7:53:241895 days ago1563177204IN
0xABf81F6f...D6968fb26
0.1009586 ETH0.000021051
Sweep81475452019-07-14 6:24:461896 days ago1563085486IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81475242019-07-14 6:20:551896 days ago1563085255IN
0xABf81F6f...D6968fb26
0.10078562 ETH0.000021051
Sweep81399932019-07-13 2:24:571897 days ago1562984697IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81399742019-07-13 2:19:591897 days ago1562984399IN
0xABf81F6f...D6968fb26
0.10382382 ETH0.000021051
Sweep81328452019-07-11 23:29:441899 days ago1562887784IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81328222019-07-11 23:21:361899 days ago1562887296IN
0xABf81F6f...D6968fb26
0.10415363 ETH0.000021051
Sweep81278752019-07-11 4:39:041899 days ago1562819944IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81278532019-07-11 4:34:051899 days ago1562819645IN
0xABf81F6f...D6968fb26
0.10767352 ETH0.000021051
Sweep81221552019-07-10 7:25:571900 days ago1562743557IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81221422019-07-10 7:21:511900 days ago1562743311IN
0xABf81F6f...D6968fb26
0.10327712 ETH0.000021051
Sweep81165112019-07-09 10:26:211901 days ago1562667981IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81164992019-07-09 10:23:561901 days ago1562667836IN
0xABf81F6f...D6968fb26
0.10075947 ETH0.000021051
Sweep81111462019-07-08 14:34:111902 days ago1562596451IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81111262019-07-08 14:29:421902 days ago1562596182IN
0xABf81F6f...D6968fb26
0.10601952 ETH0.000021051
Sweep81003752019-07-06 22:21:271904 days ago1562451687IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer81003602019-07-06 22:17:381904 days ago1562451458IN
0xABf81F6f...D6968fb26
0.10178855 ETH0.000021051
Sweep80934212019-07-05 20:33:081905 days ago1562358788IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
Transfer80934012019-07-05 20:28:211905 days ago1562358501IN
0xABf81F6f...D6968fb26
0.10180805 ETH0.000021051
Sweep80845582019-07-04 11:23:531906 days ago1562239433IN
0xABf81F6f...D6968fb26
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
81663022019-07-17 4:53:091893 days ago1563339189
0xABf81F6f...D6968fb26
0.10572356 ETH
81613842019-07-16 10:31:451894 days ago1563273105
0xABf81F6f...D6968fb26
0.10464453 ETH
81543952019-07-15 7:59:261895 days ago1563177566
0xABf81F6f...D6968fb26
0.1009586 ETH
81475452019-07-14 6:24:461896 days ago1563085486
0xABf81F6f...D6968fb26
0.10078562 ETH
81399932019-07-13 2:24:571897 days ago1562984697
0xABf81F6f...D6968fb26
0.10382382 ETH
81328452019-07-11 23:29:441899 days ago1562887784
0xABf81F6f...D6968fb26
0.10415363 ETH
81278752019-07-11 4:39:041899 days ago1562819944
0xABf81F6f...D6968fb26
0.10767352 ETH
81221552019-07-10 7:25:571900 days ago1562743557
0xABf81F6f...D6968fb26
0.10327712 ETH
81165112019-07-09 10:26:211901 days ago1562667981
0xABf81F6f...D6968fb26
0.10075947 ETH
81111462019-07-08 14:34:111902 days ago1562596451
0xABf81F6f...D6968fb26
0.10601952 ETH
81003752019-07-06 22:21:271904 days ago1562451687
0xABf81F6f...D6968fb26
0.10178855 ETH
80934212019-07-05 20:33:081905 days ago1562358788
0xABf81F6f...D6968fb26
0.10180805 ETH
80845582019-07-04 11:23:531906 days ago1562239433
0xABf81F6f...D6968fb26
0.10162583 ETH
80787302019-07-03 13:33:551907 days ago1562160835
0xABf81F6f...D6968fb26
0.10636629 ETH
80715812019-07-02 10:40:361908 days ago1562064036
0xABf81F6f...D6968fb26
0.10710343 ETH
80640782019-07-01 6:39:351909 days ago1561963175
0xABf81F6f...D6968fb26
0.102459 ETH
80550322019-06-29 20:48:521911 days ago1561841332
0xABf81F6f...D6968fb26
0.10376483 ETH
80485982019-06-28 20:51:431912 days ago1561755103
0xABf81F6f...D6968fb26
0.10247474 ETH
80429012019-06-27 23:27:491913 days ago1561678069
0xABf81F6f...D6968fb26
0.10191587 ETH
80385672019-06-27 7:08:321913 days ago1561619312
0xABf81F6f...D6968fb26
0.23942956 ETH
80266022019-06-25 10:31:451915 days ago1561458705
0xABf81F6f...D6968fb26
0.10329208 ETH
80201752019-06-24 10:23:161916 days ago1561371796
0xABf81F6f...D6968fb26
0.1059292 ETH
80142592019-06-23 12:21:481917 days ago1561292508
0xABf81F6f...D6968fb26
0.10579346 ETH
80073192019-06-22 10:27:171918 days ago1561199237
0xABf81F6f...D6968fb26
0.1018714 ETH
80020492019-06-21 14:35:331919 days ago1561127733
0xABf81F6f...D6968fb26
0.10187617 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.