ETH Price: $2,035.25 (-1.33%)
 

Overview

ETH Balance

0.000000000602078761 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep108623182020-09-14 20:39:001991 days ago1600115940IN
0x2ABa1DF7...a9272549e
0 ETH0.0084957149.08671902
Transfer108623012020-09-14 20:36:151991 days ago1600115775IN
0x2ABa1DF7...a9272549e
1.00141585 ETH0.000021051
Sweep108379002020-09-11 2:40:551995 days ago1599792055IN
0x2ABa1DF7...a9272549e
0 ETH0.00943671165.6
Transfer108378842020-09-11 2:37:301995 days ago1599791850IN
0x2ABa1DF7...a9272549e
1.00080967 ETH0.000021051
Sweep108123452020-09-07 4:32:571999 days ago1599453177IN
0x2ABa1DF7...a9272549e
0 ETH0.00711172124.8
Transfer108123292020-09-07 4:29:351999 days ago1599452975IN
0x2ABa1DF7...a9272549e
1.00041352 ETH0.000021051
Sweep107920732020-09-04 2:23:052002 days ago1599186185IN
0x2ABa1DF7...a9272549e
0 ETH0.01567087275
Transfer107920452020-09-04 2:15:282002 days ago1599185728IN
0x2ABa1DF7...a9272549e
1.0010911 ETH0.000021051
Sweep107799632020-09-02 5:39:062004 days ago1599025146IN
0x2ABa1DF7...a9272549e
0 ETH0.0284925500
Transfer107799492020-09-02 5:36:412004 days ago1599025001IN
0x2ABa1DF7...a9272549e
1.00000005 ETH0.000021051
Sweep107704562020-08-31 18:54:472005 days ago1598900087IN
0x2ABa1DF7...a9272549e
0 ETH0.01454884255.31
Transfer107704352020-08-31 18:49:512005 days ago1598899791IN
0x2ABa1DF7...a9272549e
1.00432234 ETH0.000021051
Sweep107581482020-08-29 21:35:272007 days ago1598736927IN
0x2ABa1DF7...a9272549e
0 ETH0.0045132179.2
Transfer107581332020-08-29 21:31:492007 days ago1598736709IN
0x2ABa1DF7...a9272549e
1.00244363 ETH0.000021051
Sweep107463952020-08-28 2:17:002009 days ago1598581020IN
0x2ABa1DF7...a9272549e
0 ETH0.0033222258.3
Transfer107463762020-08-28 2:12:542009 days ago1598580774IN
0x2ABa1DF7...a9272549e
1.00779417 ETH0.000021051
Sweep107374742020-08-26 17:26:412010 days ago1598462801IN
0x2ABa1DF7...a9272549e
0 ETH0.0079608139.7
Transfer107374482020-08-26 17:21:302010 days ago1598462490IN
0x2ABa1DF7...a9272549e
1.00234584 ETH0.000021051
Sweep107296962020-08-25 12:59:132011 days ago1598360353IN
0x2ABa1DF7...a9272549e
0 ETH0.00595493104.5
Transfer107296252020-08-25 12:44:052011 days ago1598359445IN
0x2ABa1DF7...a9272549e
1.00371995 ETH0.000021051
Sweep107222232020-08-24 9:24:102012 days ago1598261050IN
0x2ABa1DF7...a9272549e
0 ETH0.0051400490.2
Transfer107221932020-08-24 9:18:212012 days ago1598260701IN
0x2ABa1DF7...a9272549e
1.00290008 ETH0.000021051
Sweep107135272020-08-23 1:07:312014 days ago1598144851IN
0x2ABa1DF7...a9272549e
0 ETH0.0038863768.20000148
Transfer107135072020-08-23 1:02:332014 days ago1598144553IN
0x2ABa1DF7...a9272549e
1.00068014 ETH0.000021051
Sweep107059642020-08-21 21:23:352015 days ago1598045015IN
0x2ABa1DF7...a9272549e
0 ETH0.00670713117.7
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-108623182020-09-14 20:39:001991 days ago1600115940
0x2ABa1DF7...a9272549e
1.00141586 ETH
-108379002020-09-11 2:40:551995 days ago1599792055
0x2ABa1DF7...a9272549e
1.00080967 ETH
-108123452020-09-07 4:32:571999 days ago1599453177
0x2ABa1DF7...a9272549e
1.00041353 ETH
-107920732020-09-04 2:23:052002 days ago1599186185
0x2ABa1DF7...a9272549e
1.0010911 ETH
-107799632020-09-02 5:39:062004 days ago1599025146
0x2ABa1DF7...a9272549e
1.00000006 ETH
-107704562020-08-31 18:54:472005 days ago1598900087
0x2ABa1DF7...a9272549e
1.00432234 ETH
-107581482020-08-29 21:35:272007 days ago1598736927
0x2ABa1DF7...a9272549e
1.00244363 ETH
-107463952020-08-28 2:17:002009 days ago1598581020
0x2ABa1DF7...a9272549e
1.00779418 ETH
-107374742020-08-26 17:26:412010 days ago1598462801
0x2ABa1DF7...a9272549e
1.00234585 ETH
-107296962020-08-25 12:59:132011 days ago1598360353
0x2ABa1DF7...a9272549e
1.00371995 ETH
-107222232020-08-24 9:24:102012 days ago1598261050
0x2ABa1DF7...a9272549e
1.00290009 ETH
-107135272020-08-23 1:07:312014 days ago1598144851
0x2ABa1DF7...a9272549e
1.00068014 ETH
-107059642020-08-21 21:23:352015 days ago1598045015
0x2ABa1DF7...a9272549e
1.01140266 ETH
-106994752020-08-20 21:18:292016 days ago1597958309
0x2ABa1DF7...a9272549e
1.00202052 ETH
-106919842020-08-19 17:51:592017 days ago1597859519
0x2ABa1DF7...a9272549e
1.00013079 ETH
-106854052020-08-18 17:33:232018 days ago1597772003
0x2ABa1DF7...a9272549e
1.05399049 ETH
-106789042020-08-17 17:33:422019 days ago1597685622
0x2ABa1DF7...a9272549e
1.00004985 ETH
-106694952020-08-16 6:30:292020 days ago1597559429
0x2ABa1DF7...a9272549e
1.00052918 ETH
-106499452020-08-13 6:21:292023 days ago1597299689
0x2ABa1DF7...a9272549e
1.0024687 ETH
-106298042020-08-10 3:37:132027 days ago1597030633
0x2ABa1DF7...a9272549e
1.00056842 ETH
-106011992020-08-05 17:57:382031 days ago1596650258
0x2ABa1DF7...a9272549e
1.00027439 ETH
-105724132020-08-01 7:14:522035 days ago1596266092
0x2ABa1DF7...a9272549e
1.00101571 ETH
-105533962020-07-29 8:31:432038 days ago1596011503
0x2ABa1DF7...a9272549e
1.00130444 ETH
-105430942020-07-27 18:19:532040 days ago1595873993
0x2ABa1DF7...a9272549e
1.0017284 ETH
-105353032020-07-26 13:17:572041 days ago1595769477
0x2ABa1DF7...a9272549e
1.00438201 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.