ETH Price: $2,185.21 (-5.94%)

Contract

0xaE71D5766A9d4afB696a608444Ea78A4e96F1722
 

Overview

ETH Balance

0.007640816203756672 ETH

Eth Value

$16.70 (@ $2,185.21/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer157524622022-10-15 8:56:471250 days ago1665824207IN
0xaE71D576...4e96F1722
0.00764081 ETH0.0003294815.65185733
Sweep65817002018-10-25 15:44:012701 days ago1540482241IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer65816692018-10-25 15:36:542701 days ago1540481814IN
0xaE71D576...4e96F1722
0.08901117 ETH0.000021051
Sweep65388272018-10-18 15:35:372708 days ago1539876937IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer65388032018-10-18 15:30:022708 days ago1539876602IN
0xaE71D576...4e96F1722
0.10009091 ETH0.000021051
Sweep65144682018-10-14 16:09:272712 days ago1539533367IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer65144522018-10-14 16:06:002712 days ago1539533160IN
0xaE71D576...4e96F1722
0.10004755 ETH0.000021051
Sweep64896762018-10-10 15:41:412716 days ago1539186101IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer64896572018-10-10 15:36:392716 days ago1539185799IN
0xaE71D576...4e96F1722
0.10005684 ETH0.000021051
Sweep64648172018-10-06 15:11:162720 days ago1538838676IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer64647942018-10-06 15:06:312720 days ago1538838391IN
0xaE71D576...4e96F1722
0.10010146 ETH0.000021051
Sweep64390552018-10-02 10:46:592724 days ago1538477219IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer64390182018-10-02 10:38:262724 days ago1538476706IN
0xaE71D576...4e96F1722
0.10007635 ETH0.000021051
Sweep64148972018-09-28 11:30:452728 days ago1538134245IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer64148652018-09-28 11:23:192728 days ago1538133799IN
0xaE71D576...4e96F1722
0.10005733 ETH0.000021051
Sweep63902332018-09-24 10:22:092732 days ago1537784529IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer63902102018-09-24 10:16:112732 days ago1537784171IN
0xaE71D576...4e96F1722
0.10001505 ETH0.000021051
Sweep63660442018-09-20 10:37:352736 days ago1537439855IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer63660282018-09-20 10:33:052736 days ago1537439585IN
0xaE71D576...4e96F1722
0.10005144 ETH0.000021051
Transfer63426582018-09-16 14:06:422740 days ago1537106802IN
0xaE71D576...4e96F1722
0.01007208 ETH0.000021051
Sweep62445942018-08-31 4:29:562757 days ago1535689796IN
0xaE71D576...4e96F1722
0 ETH0.0024996550
Transfer62445752018-08-31 4:25:582757 days ago1535689558IN
0xaE71D576...4e96F1722
0.11194018 ETH0.000021051
Sweep62205482018-08-27 3:04:072761 days ago1535339047IN
0xaE71D576...4e96F1722
0 ETH0.0025028550
Transfer62205322018-08-27 2:58:372761 days ago1535338717IN
0xaE71D576...4e96F1722
0.18904352 ETH0.000021051
Sweep61790642018-08-20 2:57:422768 days ago1534733862IN
0xaE71D576...4e96F1722
0 ETH0.0050057100
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer65817002018-10-25 15:44:012701 days ago1540482241
0xaE71D576...4e96F1722
0.08901118 ETH
Transfer65388272018-10-18 15:35:372708 days ago1539876937
0xaE71D576...4e96F1722
0.10009092 ETH
Transfer65144682018-10-14 16:09:272712 days ago1539533367
0xaE71D576...4e96F1722
0.10004756 ETH
Transfer64896762018-10-10 15:41:412716 days ago1539186101
0xaE71D576...4e96F1722
0.10005684 ETH
Transfer64648172018-10-06 15:11:162720 days ago1538838676
0xaE71D576...4e96F1722
0.10010147 ETH
Transfer64390552018-10-02 10:46:592724 days ago1538477219
0xaE71D576...4e96F1722
0.10007635 ETH
Transfer64148972018-09-28 11:30:452728 days ago1538134245
0xaE71D576...4e96F1722
0.10005733 ETH
Transfer63902332018-09-24 10:22:092732 days ago1537784529
0xaE71D576...4e96F1722
0.10001505 ETH
Transfer63660442018-09-20 10:37:352736 days ago1537439855
0xaE71D576...4e96F1722
0.11012354 ETH
Transfer62445942018-08-31 4:29:562757 days ago1535689796
0xaE71D576...4e96F1722
0.11194018 ETH
Transfer62205482018-08-27 3:04:072761 days ago1535339047
0xaE71D576...4e96F1722
0.18904352 ETH
Transfer61790642018-08-20 2:57:422768 days ago1534733862
0xaE71D576...4e96F1722
0.19596041 ETH
Transfer61376592018-08-13 2:55:032775 days ago1534128903
0xaE71D576...4e96F1722
0.19775483 ETH
Transfer60962092018-08-06 2:46:292782 days ago1533523589
0xaE71D576...4e96F1722
0.19110698 ETH
Transfer60547942018-07-30 2:47:412789 days ago1532918861
0xaE71D576...4e96F1722
0.1644618 ETH
Transfer60134422018-07-23 2:47:122796 days ago1532314032
0xaE71D576...4e96F1722
0.15763462 ETH
Transfer52808332018-03-19 2:49:422922 days ago1521427782
0xaE71D576...4e96F1722
0.12909095 ETH
Transfer49695982018-01-25 11:01:362974 days ago1516878096  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.