ETH Price: $2,069.03 (-4.36%)

Contract

0x8A69A5c1f8CFb3deA223a8Fa026a2A9D7D57E2FB
 

Overview

ETH Balance

0.00000000253341962 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep60958712018-08-06 1:22:252789 days ago1533518545IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0050057100
Transfer60958442018-08-06 1:15:472789 days ago1533518147IN
0x8A69A5c1...D7D57E2FB
0.50001913 ETH0.000021051
Sweep60548782018-07-30 3:07:522796 days ago1532920072IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0050057100
Transfer60548562018-07-30 3:03:242796 days ago1532919804IN
0x8A69A5c1...D7D57E2FB
0.47913686 ETH0.000021051
Sweep60135442018-07-23 3:11:152803 days ago1532315475IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0050057100
Transfer60135122018-07-23 3:03:292803 days ago1532315009IN
0x8A69A5c1...D7D57E2FB
0.50001531 ETH0.000021051
Sweep59727462018-07-16 4:17:342810 days ago1531714654IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0050057100
Transfer59727022018-07-16 4:07:282810 days ago1531714048IN
0x8A69A5c1...D7D57E2FB
0.50032393 ETH0.000021051
Sweep59323142018-07-09 9:10:302817 days ago1531127430IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0050057100
Transfer59322832018-07-09 9:01:442817 days ago1531126904IN
0x8A69A5c1...D7D57E2FB
0.50001077 ETH0.000021051
Sweep58948482018-07-02 22:23:282823 days ago1530570208IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0037542775
Transfer58942892018-07-02 20:08:282824 days ago1530562108IN
0x8A69A5c1...D7D57E2FB
0.50007355 ETH0.000021051
Sweep58556672018-06-26 5:00:592830 days ago1529989259IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
Transfer58556392018-06-26 4:53:202830 days ago1529988800IN
0x8A69A5c1...D7D57E2FB
0.50004815 ETH0.000021051
Sweep58179232018-06-19 17:18:452837 days ago1529428725IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
Transfer58178932018-06-19 17:10:012837 days ago1529428201IN
0x8A69A5c1...D7D57E2FB
0.50034592 ETH0.000021051
Sweep57802882018-06-13 6:58:062843 days ago1528873086IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
Transfer57802652018-06-13 6:50:342843 days ago1528872634IN
0x8A69A5c1...D7D57E2FB
0.50031121 ETH0.000021051
Sweep57429752018-06-06 16:26:202850 days ago1528302380IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
Transfer57429562018-06-06 16:20:482850 days ago1528302048IN
0x8A69A5c1...D7D57E2FB
0.50008849 ETH0.000021051
Sweep57062362018-05-31 3:57:592856 days ago1527739079IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
Transfer57062122018-05-31 3:50:592856 days ago1527738659IN
0x8A69A5c1...D7D57E2FB
0.50023085 ETH0.000021051
Sweep56716122018-05-25 0:55:222862 days ago1527209722IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
Transfer56715712018-05-25 0:45:482862 days ago1527209148IN
0x8A69A5c1...D7D57E2FB
0.50006406 ETH0.000021051
Sweep56387102018-05-19 4:37:042868 days ago1526704624IN
0x8A69A5c1...D7D57E2FB
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer60958712018-08-06 1:22:252789 days ago1533518545
0x8A69A5c1...D7D57E2FB
0.50001913 ETH
Transfer60548782018-07-30 3:07:522796 days ago1532920072
0x8A69A5c1...D7D57E2FB
0.47913687 ETH
Transfer60135442018-07-23 3:11:152803 days ago1532315475
0x8A69A5c1...D7D57E2FB
0.50001531 ETH
Transfer59727462018-07-16 4:17:342810 days ago1531714654
0x8A69A5c1...D7D57E2FB
0.50032394 ETH
Transfer59323142018-07-09 9:10:302817 days ago1531127430
0x8A69A5c1...D7D57E2FB
0.50001078 ETH
Transfer58948482018-07-02 22:23:282823 days ago1530570208
0x8A69A5c1...D7D57E2FB
0.50007355 ETH
Transfer58556672018-06-26 5:00:592830 days ago1529989259
0x8A69A5c1...D7D57E2FB
0.50004816 ETH
Transfer58179232018-06-19 17:18:452837 days ago1529428725
0x8A69A5c1...D7D57E2FB
0.50034592 ETH
Transfer57802882018-06-13 6:58:062843 days ago1528873086
0x8A69A5c1...D7D57E2FB
0.50031122 ETH
Transfer57429752018-06-06 16:26:202850 days ago1528302380
0x8A69A5c1...D7D57E2FB
0.50008849 ETH
Transfer57062362018-05-31 3:57:592856 days ago1527739079
0x8A69A5c1...D7D57E2FB
0.50023086 ETH
Transfer56716122018-05-25 0:55:222862 days ago1527209722
0x8A69A5c1...D7D57E2FB
0.50006407 ETH
Transfer56387102018-05-19 4:37:042868 days ago1526704624
0x8A69A5c1...D7D57E2FB
0.50036644 ETH
Transfer56046672018-05-13 4:52:012874 days ago1526187121
0x8A69A5c1...D7D57E2FB
0.50037124 ETH
Transfer55709792018-05-07 8:07:202880 days ago1525680440
0x8A69A5c1...D7D57E2FB
0.50022372 ETH
Transfer55379302018-05-01 13:13:202886 days ago1525180400
0x8A69A5c1...D7D57E2FB
0.50020457 ETH
Transfer55045462018-04-25 17:51:492892 days ago1524678709
0x8A69A5c1...D7D57E2FB
0.50001905 ETH
Transfer54693542018-04-19 16:35:342898 days ago1524155734
0x8A69A5c1...D7D57E2FB
0.36882297 ETH
Transfer54282642018-04-12 16:29:562905 days ago1523550596
0x8A69A5c1...D7D57E2FB
0.34713711 ETH
Transfer53860142018-04-05 16:32:332912 days ago1522945953
0x8A69A5c1...D7D57E2FB
0.33172793 ETH
Transfer53439382018-03-29 16:27:342919 days ago1522340854
0x8A69A5c1...D7D57E2FB
0.34200442 ETH
Transfer53020872018-03-22 16:17:042926 days ago1521735424
0x8A69A5c1...D7D57E2FB
0.32823208 ETH
Transfer52604752018-03-15 16:16:352933 days ago1521130595
0x8A69A5c1...D7D57E2FB
0.34560735 ETH
Transfer52193962018-03-08 16:09:342940 days ago1520525374
0x8A69A5c1...D7D57E2FB
0.34170011 ETH
Transfer51780822018-03-01 16:10:442947 days ago1519920644
0x8A69A5c1...D7D57E2FB
0.36635567 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.