ETH Price: $2,006.81 (+8.32%)
 

Overview

ETH Balance

0.00000000997096035 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep107374812020-08-26 17:29:022012 days ago1598462942IN
0x89845E5A...a754e035e
0 ETH0.0079608139.7000016
Transfer107374632020-08-26 17:23:122012 days ago1598462592IN
0x89845E5A...a754e035e
0.39693028 ETH0.00394706187.5
Sweep94687592020-02-12 14:45:192208 days ago1581518719IN
0x89845E5A...a754e035e
0 ETH0.0012531422
Transfer94687412020-02-12 14:42:522208 days ago1581518572IN
0x89845E5A...a754e035e
0.664 ETH0.000157887.5
Sweep71678102019-02-03 9:30:112582 days ago1549186211IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer71677972019-02-03 9:24:322582 days ago1549185872IN
0x89845E5A...a754e035e
0.23079263 ETH0.000021051
Sweep71334462019-01-27 9:27:242589 days ago1548581244IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer71334322019-01-27 9:22:552589 days ago1548580975IN
0x89845E5A...a754e035e
0.41102227 ETH0.000021051
Sweep70977172019-01-20 9:32:472596 days ago1547976767IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer70977002019-01-20 9:28:062596 days ago1547976486IN
0x89845E5A...a754e035e
0.39770053 ETH0.000021051
Sweep70584302019-01-13 9:19:132603 days ago1547371153IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer70584122019-01-13 9:14:342603 days ago1547370874IN
0x89845E5A...a754e035e
0.35625289 ETH0.000021051
Sweep70193482019-01-06 9:17:392610 days ago1546766259IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer70193332019-01-06 9:13:092610 days ago1546765989IN
0x89845E5A...a754e035e
0.35297272 ETH0.000021051
Sweep70136922019-01-05 9:15:412611 days ago1546679741IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer70136762019-01-05 9:11:372611 days ago1546679497IN
0x89845E5A...a754e035e
0.48839547 ETH0.0018524888
Sweep69790762018-12-30 9:16:392617 days ago1546161399IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer69790612018-12-30 9:12:362617 days ago1546161156IN
0x89845E5A...a754e035e
0.3750939 ETH0.000021051
Sweep69375422018-12-23 9:16:022624 days ago1545556562IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer69375282018-12-23 9:10:482624 days ago1545556248IN
0x89845E5A...a754e035e
0.22197648 ETH0.000021051
Sweep68963792018-12-16 9:12:492631 days ago1544951569IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer68963612018-12-16 9:07:442631 days ago1544951264IN
0x89845E5A...a754e035e
0.34288906 ETH0.000021051
Sweep68593912018-12-10 6:47:422638 days ago1544424462IN
0x89845E5A...a754e035e
0 ETH0.0025028550
Transfer68593712018-12-10 6:44:242638 days ago1544424264IN
0x89845E5A...a754e035e
0.61264462 ETH0.000105255
Sweep68538822018-12-09 9:11:142638 days ago1544346674IN
0x89845E5A...a754e035e
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-107374812020-08-26 17:29:022012 days ago1598462942
0x89845E5A...a754e035e
0.39693028 ETH
-94687592020-02-12 14:45:192208 days ago1581518719
0x89845E5A...a754e035e
0.664 ETH
-71678102019-02-03 9:30:112582 days ago1549186211
0x89845E5A...a754e035e
0.23079263 ETH
-71334462019-01-27 9:27:242589 days ago1548581244
0x89845E5A...a754e035e
0.41102228 ETH
-70977172019-01-20 9:32:472596 days ago1547976767
0x89845E5A...a754e035e
0.39770054 ETH
-70584302019-01-13 9:19:132603 days ago1547371153
0x89845E5A...a754e035e
0.35625289 ETH
-70193482019-01-06 9:17:392610 days ago1546766259
0x89845E5A...a754e035e
0.35297273 ETH
-70136922019-01-05 9:15:412611 days ago1546679741
0x89845E5A...a754e035e
0.48839547 ETH
-69790762018-12-30 9:16:392617 days ago1546161399
0x89845E5A...a754e035e
0.37509391 ETH
-69375422018-12-23 9:16:022624 days ago1545556562
0x89845E5A...a754e035e
0.22197648 ETH
-68963792018-12-16 9:12:492631 days ago1544951569
0x89845E5A...a754e035e
0.34288907 ETH
-68593912018-12-10 6:47:422638 days ago1544424462
0x89845E5A...a754e035e
0.61264462 ETH
-68538822018-12-09 9:11:142638 days ago1544346674
0x89845E5A...a754e035e
0.30109647 ETH
-68115572018-12-02 8:59:172645 days ago1543741157
0x89845E5A...a754e035e
0.31754815 ETH
Transfer67691602018-11-25 9:02:522652 days ago1543136572
0x89845E5A...a754e035e
0.31551681 ETH
Transfer67264992018-11-18 8:57:362659 days ago1542531456
0x89845E5A...a754e035e
0.05428158 ETH
Transfer66837322018-11-11 9:14:272666 days ago1541927667
0x89845E5A...a754e035e
0.0586164 ETH
Transfer65554272018-10-21 8:46:332687 days ago1540111593
0x89845E5A...a754e035e
0.26627941 ETH
Transfer64368782018-10-02 2:00:372707 days ago1538445637
0x89845E5A...a754e035e
0.08432974 ETH
Transfer62833152018-09-06 16:40:202732 days ago1536252020
0x89845E5A...a754e035e
0.16878515 ETH
Transfer62415942018-08-30 16:38:572739 days ago1535647137
0x89845E5A...a754e035e
0.27992821 ETH
Transfer62001522018-08-23 16:37:042746 days ago1535042224
0x89845E5A...a754e035e
0.27878238 ETH
Transfer61587562018-08-16 16:30:152753 days ago1534437015
0x89845E5A...a754e035e
0.27336836 ETH
Transfer61173132018-08-09 16:27:122760 days ago1533832032
0x89845E5A...a754e035e
0.23082323 ETH
Transfer60758282018-08-02 16:24:182767 days ago1533227058
0x89845E5A...a754e035e
0.31053139 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.