ETH Price: $1,978.94 (-6.63%)

Contract

0xA1b4e97d02adbaF2941e6d6c170c7df4a5226AA4
 

Overview

ETH Balance

0.000000004823623648 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep66110722018-10-30 11:02:192684 days ago1540897339IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer66110382018-10-30 10:55:332684 days ago1540896933IN
0xA1b4e97d...4a5226AA4
0.05003371 ETH0.000063153
Sweep65559492018-10-21 10:44:482693 days ago1540118688IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer65559122018-10-21 10:36:232693 days ago1540118183IN
0xA1b4e97d...4a5226AA4
0.05006212 ETH0.000063153
Sweep65085022018-10-13 16:49:502700 days ago1539449390IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer65084862018-10-13 16:44:532700 days ago1539449093IN
0xA1b4e97d...4a5226AA4
0.05003881 ETH0.000063153
Sweep64611152018-10-06 0:58:212708 days ago1538787501IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer64610922018-10-06 0:51:452708 days ago1538787105IN
0xA1b4e97d...4a5226AA4
0.05000613 ETH0.000063153
Sweep64223212018-09-29 16:38:552714 days ago1538239135IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer64222952018-09-29 16:33:532714 days ago1538238833IN
0xA1b4e97d...4a5226AA4
0.050136 ETH0.000063153
Sweep63886902018-09-24 4:18:532720 days ago1537762733IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer63886532018-09-24 4:12:042720 days ago1537762324IN
0xA1b4e97d...4a5226AA4
0.0500893 ETH0.000063153
Sweep63534652018-09-18 8:43:202726 days ago1537260200IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer63534372018-09-18 8:35:212726 days ago1537259721IN
0xA1b4e97d...4a5226AA4
0.05005457 ETH0.000063153
Sweep63160732018-09-12 4:34:542732 days ago1536726894IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer63160492018-09-12 4:29:432732 days ago1536726583IN
0xA1b4e97d...4a5226AA4
0.05002546 ETH0.000063153
Sweep62852952018-09-07 0:35:382737 days ago1536280538IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer62852242018-09-07 0:15:482737 days ago1536279348IN
0xA1b4e97d...4a5226AA4
0.0500776 ETH0.000063153
Sweep62490422018-08-31 22:37:502743 days ago1535755070IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer62490182018-08-31 22:33:502743 days ago1535754830IN
0xA1b4e97d...4a5226AA4
0.05223648 ETH0.00008424
Sweep62073662018-08-24 21:41:472750 days ago1535146907IN
0xA1b4e97d...4a5226AA4
0 ETH0.0024996550
Transfer62073132018-08-24 21:31:122750 days ago1535146272IN
0xA1b4e97d...4a5226AA4
0.05011011 ETH0.000021051
Sweep61716542018-08-18 21:04:192756 days ago1534626259IN
0xA1b4e97d...4a5226AA4
0 ETH0.0049993100
Transfer61716332018-08-18 20:57:412756 days ago1534625861IN
0xA1b4e97d...4a5226AA4
0.05000353 ETH0.000021051
Sweep61340932018-08-12 12:36:562763 days ago1534077416IN
0xA1b4e97d...4a5226AA4
0 ETH0.0049993100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer66110722018-10-30 11:02:192684 days ago1540897339
0xA1b4e97d...4a5226AA4
0.05003371 ETH
Transfer65559492018-10-21 10:44:482693 days ago1540118688
0xA1b4e97d...4a5226AA4
0.05006213 ETH
Transfer65085022018-10-13 16:49:502700 days ago1539449390
0xA1b4e97d...4a5226AA4
0.05003882 ETH
Transfer64611152018-10-06 0:58:212708 days ago1538787501
0xA1b4e97d...4a5226AA4
0.05000613 ETH
Transfer64223212018-09-29 16:38:552714 days ago1538239135
0xA1b4e97d...4a5226AA4
0.050136 ETH
Transfer63886902018-09-24 4:18:532720 days ago1537762733
0xA1b4e97d...4a5226AA4
0.05008931 ETH
Transfer63534652018-09-18 8:43:202726 days ago1537260200
0xA1b4e97d...4a5226AA4
0.05005457 ETH
Transfer63160732018-09-12 4:34:542732 days ago1536726894
0xA1b4e97d...4a5226AA4
0.05002547 ETH
Transfer62852952018-09-07 0:35:382737 days ago1536280538
0xA1b4e97d...4a5226AA4
0.05007761 ETH
Transfer62490422018-08-31 22:37:502743 days ago1535755070
0xA1b4e97d...4a5226AA4
0.05223649 ETH
Transfer62073662018-08-24 21:41:472750 days ago1535146907
0xA1b4e97d...4a5226AA4
0.05011011 ETH
Transfer61716542018-08-18 21:04:192756 days ago1534626259
0xA1b4e97d...4a5226AA4
0.05000353 ETH
Transfer61340932018-08-12 12:36:562763 days ago1534077416
0xA1b4e97d...4a5226AA4
0.05001366 ETH
Transfer60896332018-08-05 0:04:332770 days ago1533427473
0xA1b4e97d...4a5226AA4
0.050022 ETH
Transfer60362252018-07-27 0:08:562779 days ago1532650136
0xA1b4e97d...4a5226AA4
0.05002662 ETH
Transfer60019642018-07-21 4:40:472785 days ago1532148047
0xA1b4e97d...4a5226AA4
0.05007644 ETH
Transfer59764992018-07-16 19:55:532789 days ago1531770953
0xA1b4e97d...4a5226AA4
0.0500039 ETH
Transfer59484382018-07-12 3:12:222794 days ago1531365142
0xA1b4e97d...4a5226AA4
0.0501737 ETH
Transfer59226102018-07-07 16:43:392798 days ago1530981819
0xA1b4e97d...4a5226AA4
0.05009941 ETH
Transfer59000782018-07-03 19:57:412802 days ago1530647861
0xA1b4e97d...4a5226AA4
0.05007391 ETH
Transfer58755892018-06-29 15:41:242806 days ago1530286884
0xA1b4e97d...4a5226AA4
0.05003281 ETH
Transfer58492992018-06-25 1:45:072811 days ago1529891107
0xA1b4e97d...4a5226AA4
0.05017478 ETH
Transfer58227462018-06-20 13:31:252816 days ago1529501485
0xA1b4e97d...4a5226AA4
0.05698305 ETH
Transfer57909432018-06-15 3:02:552821 days ago1529031775
0xA1b4e97d...4a5226AA4
0.30003373 ETH
Transfer49659332018-01-24 20:14:582962 days ago1516824898  Contract Creation0 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.