ETH Price: $1,989.90 (-3.59%)

Contract

0xA1E2aBa5eC0c158A3C8FFe31C65A2A88e747ffa3
 

Overview

ETH Balance

0.000000001102818112 ETH

Eth Value

Less Than $0.01 (@ $1,989.90/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep86598712019-10-02 1:00:402368 days ago1569978040IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer86598482019-10-02 0:54:552368 days ago1569977695IN
0xA1E2aBa5...8e747ffa3
0.20014262 ETH0.0003157615
Sweep86272632019-09-26 22:42:352374 days ago1569537755IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer86272462019-09-26 22:39:012374 days ago1569537541IN
0xA1E2aBa5...8e747ffa3
0.20032618 ETH0.0003157615
Sweep85955212019-09-21 23:17:362379 days ago1569107856IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer85955052019-09-21 23:14:222379 days ago1569107662IN
0xA1E2aBa5...8e747ffa3
0.20000854 ETH0.0006315330
Sweep85639192019-09-17 1:03:572383 days ago1568682237IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer85638942019-09-17 0:59:232383 days ago1568681963IN
0xA1E2aBa5...8e747ffa3
0.20030323 ETH0.0002105110
Sweep85329322019-09-12 5:09:402388 days ago1568264980IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer85329112019-09-12 5:04:532388 days ago1568264693IN
0xA1E2aBa5...8e747ffa3
0.20008533 ETH0.0002105110
Sweep85024652019-09-07 10:49:282393 days ago1567853368IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer85024492019-09-07 10:46:222393 days ago1567853182IN
0xA1E2aBa5...8e747ffa3
0.20048394 ETH0.0002105110
Sweep84705072019-09-02 11:28:472398 days ago1567423727IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer84704922019-09-02 11:24:422398 days ago1567423482IN
0xA1E2aBa5...8e747ffa3
0.20002927 ETH0.0002105110
Sweep84383612019-08-28 11:23:242403 days ago1566991404IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer84383472019-08-28 11:20:442403 days ago1566991244IN
0xA1E2aBa5...8e747ffa3
0.20014355 ETH0.0002105110
Sweep84042842019-08-23 4:05:282408 days ago1566533128IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer84042612019-08-23 4:00:322408 days ago1566532832IN
0xA1E2aBa5...8e747ffa3
0.20011567 ETH0.0002105110
Sweep83719852019-08-18 3:26:432413 days ago1566098803IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer83719662019-08-18 3:21:382413 days ago1566098498IN
0xA1E2aBa5...8e747ffa3
0.20015484 ETH0.0002105110
Sweep83139372019-08-09 3:15:232422 days ago1565320523IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
Transfer83139222019-08-09 3:11:492422 days ago1565320309IN
0xA1E2aBa5...8e747ffa3
0.20003843 ETH0.0002105110
Sweep82767262019-08-03 8:45:212428 days ago1564821921IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0015017130
Transfer82767112019-08-03 8:41:402428 days ago1564821700IN
0xA1E2aBa5...8e747ffa3
0.20013858 ETH0.0002105110
Sweep82093612019-07-23 21:27:212439 days ago1563917241IN
0xA1E2aBa5...8e747ffa3
0 ETH0.0011012522
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-86598712019-10-02 1:00:402368 days ago1569978040
0xA1E2aBa5...8e747ffa3
0.20014263 ETH
-86272632019-09-26 22:42:352374 days ago1569537755
0xA1E2aBa5...8e747ffa3
0.20032619 ETH
-85955212019-09-21 23:17:362379 days ago1569107856
0xA1E2aBa5...8e747ffa3
0.20000854 ETH
-85639192019-09-17 1:03:572383 days ago1568682237
0xA1E2aBa5...8e747ffa3
0.20030324 ETH
-85329322019-09-12 5:09:402388 days ago1568264980
0xA1E2aBa5...8e747ffa3
0.20008533 ETH
-85024652019-09-07 10:49:282393 days ago1567853368
0xA1E2aBa5...8e747ffa3
0.20048395 ETH
-84705072019-09-02 11:28:472398 days ago1567423727
0xA1E2aBa5...8e747ffa3
0.20002928 ETH
-84383612019-08-28 11:23:242403 days ago1566991404
0xA1E2aBa5...8e747ffa3
0.20014356 ETH
-84042842019-08-23 4:05:282408 days ago1566533128
0xA1E2aBa5...8e747ffa3
0.20011567 ETH
-83719852019-08-18 3:26:432413 days ago1566098803
0xA1E2aBa5...8e747ffa3
0.20015484 ETH
-83139372019-08-09 3:15:232422 days ago1565320523
0xA1E2aBa5...8e747ffa3
0.20003844 ETH
-82767262019-08-03 8:45:212428 days ago1564821921
0xA1E2aBa5...8e747ffa3
0.20013858 ETH
-82093612019-07-23 21:27:212439 days ago1563917241
0xA1E2aBa5...8e747ffa3
0.20061373 ETH
-81755812019-07-18 15:49:572444 days ago1563464997
0xA1E2aBa5...8e747ffa3
0.20015259 ETH
-81433492019-07-13 14:59:182449 days ago1563029958
0xA1E2aBa5...8e747ffa3
0.20019319 ETH
-81066192019-07-07 21:37:432455 days ago1562535463
0xA1E2aBa5...8e747ffa3
0.20005327 ETH
-80630302019-07-01 2:42:062461 days ago1561948926
0xA1E2aBa5...8e747ffa3
0.20034613 ETH
-80287002019-06-25 18:09:162467 days ago1561486156
0xA1E2aBa5...8e747ffa3
0.20037061 ETH
-80014172019-06-21 12:15:372471 days ago1561119337
0xA1E2aBa5...8e747ffa3
0.20041985 ETH
-79689982019-06-16 10:31:342476 days ago1560681094
0xA1E2aBa5...8e747ffa3
0.2000228 ETH
-79402272019-06-11 22:27:042481 days ago1560292024
0xA1E2aBa5...8e747ffa3
0.20051015 ETH
-79076632019-06-06 19:53:372486 days ago1559850817
0xA1E2aBa5...8e747ffa3
0.20009918 ETH
-78779832019-06-02 4:21:492490 days ago1559449309
0xA1E2aBa5...8e747ffa3
0.20004275 ETH
-78470662019-05-28 8:53:332495 days ago1559033613
0xA1E2aBa5...8e747ffa3
0.20017709 ETH
-78144252019-05-23 6:33:582500 days ago1558593238
0xA1E2aBa5...8e747ffa3
0.20013641 ETH
View All Internal Transactions
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.