ETH Price: $2,126.87 (+7.58%)

Contract

0x9845a7e281bc024eB2DfAb0f9A01F5cEb09dA2a5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep109792212020-10-02 22:16:511979 days ago1601677011IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0034379757.6
Sweep105775962020-08-02 2:07:272040 days ago1596334047IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0043701169
Sweep105775612020-08-02 1:59:552040 days ago1596333595IN
0x9845a7e2...Eb09dA2a5
0 ETH0.003984166.75
Sweep105537872020-07-29 9:57:592044 days ago1596016679IN
0x9845a7e2...Eb09dA2a5
0 ETH0.00742019117.15788822
Sweep105475042020-07-28 10:29:472045 days ago1595932187IN
0x9845a7e2...Eb09dA2a5
0 ETH0.00566905105
Sweep105474822020-07-28 10:24:232045 days ago1595931863IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0054705696
Sweep104984522020-07-20 20:12:262053 days ago1595275946IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0047510275
Sweep104479642020-07-13 0:29:012061 days ago1594600141IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0016112227
Sweep104209142020-07-08 20:04:382065 days ago1594238678IN
0x9845a7e2...Eb09dA2a5
0 ETH0.002954549.5
Sweep103823782020-07-02 21:26:212071 days ago1593725181IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0024043834.53089419
Sweep103818222020-07-02 19:20:062071 days ago1593717606IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0025068542
Sweep103814652020-07-02 17:55:052071 days ago1593712505IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0025643245
Transfer103814482020-07-02 17:50:562071 days ago1593712256IN
0x9845a7e2...Eb09dA2a5
4.03401474 ETH0.0009157143.5
Sweep103784532020-07-02 6:45:592071 days ago1593672359IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0035045761.5
Transfer103784312020-07-02 6:40:202071 days ago1593672020IN
0x9845a7e2...Eb09dA2a5
3.26868194 ETH0.0012209558
Sweep103774112020-07-02 2:48:162071 days ago1593658096IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0028201649.5
Transfer103773912020-07-02 2:42:482071 days ago1593657768IN
0x9845a7e2...Eb09dA2a5
3.61959224 ETH0.0008851942.05
Sweep103770762020-07-02 1:31:262071 days ago1593653486IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0022224139
Transfer103770582020-07-02 1:27:272071 days ago1593653247IN
0x9845a7e2...Eb09dA2a5
3.22740623 ETH0.0007325734.8
Sweep103767742020-07-02 0:20:542072 days ago1593649254IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0020677334.65000202
Sweep103702532020-06-30 23:53:192073 days ago1593561199IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0023078940.5
Transfer103702382020-06-30 23:49:302073 days ago1593560970IN
0x9845a7e2...Eb09dA2a5
3.02172418 ETH0.0007020533.35
Sweep103643802020-06-30 2:08:202073 days ago1593482900IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0024446542.9
Transfer103643622020-06-30 2:04:172073 days ago1593482657IN
0x9845a7e2...Eb09dA2a5
4.54521004 ETH0.0008729841.47
Sweep103639512020-06-30 0:37:262073 days ago1593477446IN
0x9845a7e2...Eb09dA2a5
0 ETH0.0023677241.55
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-105474822020-07-28 10:24:232045 days ago1595931863
0x9845a7e2...Eb09dA2a5
2.58850678 ETH
-105474672020-07-28 10:20:572045 days ago1595931657
0x9845a7e2...Eb09dA2a5
2.58850678 ETH
-103814652020-07-02 17:55:052071 days ago1593712505
0x9845a7e2...Eb09dA2a5
4.03401474 ETH
-103784532020-07-02 6:45:592071 days ago1593672359
0x9845a7e2...Eb09dA2a5
3.26868194 ETH
-103774112020-07-02 2:48:162071 days ago1593658096
0x9845a7e2...Eb09dA2a5
3.61959224 ETH
-103770762020-07-02 1:31:262071 days ago1593653486
0x9845a7e2...Eb09dA2a5
3.22740623 ETH
-103702532020-06-30 23:53:192073 days ago1593561199
0x9845a7e2...Eb09dA2a5
3.02172418 ETH
-103643802020-06-30 2:08:202073 days ago1593482900
0x9845a7e2...Eb09dA2a5
4.54521004 ETH
-103639512020-06-30 0:37:262073 days ago1593477446
0x9845a7e2...Eb09dA2a5
3.68149878 ETH
-103633482020-06-29 22:22:052074 days ago1593469325
0x9845a7e2...Eb09dA2a5
9.38453522 ETH
-103589222020-06-29 5:41:362074 days ago1593409296
0x9845a7e2...Eb09dA2a5
2.47856457 ETH
-103580782020-06-29 2:31:412074 days ago1593397901
0x9845a7e2...Eb09dA2a5
2.91216435 ETH
-103574822020-06-29 0:17:062075 days ago1593389826
0x9845a7e2...Eb09dA2a5
2.55793241 ETH
-103566572020-06-28 21:13:312075 days ago1593378811
0x9845a7e2...Eb09dA2a5
3.08576193 ETH
-103512432020-06-28 1:17:132075 days ago1593307033
0x9845a7e2...Eb09dA2a5
2.67971191 ETH
-103502962020-06-27 21:50:112076 days ago1593294611
0x9845a7e2...Eb09dA2a5
2.62512293 ETH
-101141852020-05-22 6:49:322112 days ago1590130172
0x9845a7e2...Eb09dA2a5
0.96 ETH
-99738102020-04-30 12:02:232134 days ago1588248143
0x9845a7e2...Eb09dA2a5
1.4 ETH
-99549262020-04-27 13:57:432137 days ago1587995863
0x9845a7e2...Eb09dA2a5
1.9 ETH
-99544962020-04-27 12:20:042137 days ago1587990004
0x9845a7e2...Eb09dA2a5
1.296699 ETH
Transfer51995722018-03-05 7:15:202921 days ago1520234120  Contract Creation0 ETH
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.