ETH Price: $2,328.36 (+0.53%)

Contract

0xF643d1a938002FB2D9a96CEb5b4A5c2e9846ca2c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Sweep123696182021-05-04 19:26:301778 days ago1620156390IN
0xF643d1a9...e9846ca2c
0 ETH0.0040336571.3
Transfer123696052021-05-04 19:23:471778 days ago1620156227IN
0xF643d1a9...e9846ca2c
9.98 ETH0.0013483164.05
Sweep116028932021-01-06 19:16:081896 days ago1609960568IN
0xF643d1a9...e9846ca2c
0 ETH0.00670536120
Sweep116007842021-01-06 11:40:061896 days ago1609933206IN
0xF643d1a9...e9846ca2c
0 ETH0.00811348145.2
Sweep115965252021-01-05 19:46:111897 days ago1609875971IN
0xF643d1a9...e9846ca2c
0 ETH0.0085272152.604
Sweep115960812021-01-05 18:11:561897 days ago1609870316IN
0xF643d1a9...e9846ca2c
0 ETH0.00590071105.6
Sweep115897262021-01-04 18:49:101898 days ago1609786150IN
0xF643d1a9...e9846ca2c
0 ETH0.00737589132
Sweep115838882021-01-03 21:07:321899 days ago1609708052IN
0xF643d1a9...e9846ca2c
0 ETH0.00818053146.4
Sweep115827222021-01-03 16:55:481899 days ago1609692948IN
0xF643d1a9...e9846ca2c
0 ETH0.02299249411.47676
Sweep115824842021-01-03 15:58:541899 days ago1609689534IN
0xF643d1a9...e9846ca2c
0 ETH0.01247226223.20522
Sweep115512652020-12-29 21:17:141904 days ago1609276634IN
0xF643d1a9...e9846ca2c
0 ETH0.0036871566
Sweep114782302020-12-18 16:25:341915 days ago1608308734IN
0xF643d1a9...e9846ca2c
0 ETH0.0046338278
Sweep111384202020-10-27 11:44:431967 days ago1603799083IN
0xF643d1a9...e9846ca2c
0 ETH0.0016759830
Sweep105105012020-07-22 17:22:252064 days ago1595438545IN
0xF643d1a9...e9846ca2c
0 ETH0.00581124102
Transfer105104802020-07-22 17:17:062064 days ago1595438226IN
0xF643d1a9...e9846ca2c
9 ETH0.0012630660
Sweep104997482020-07-21 1:01:472066 days ago1595293307IN
0xF643d1a9...e9846ca2c
0 ETH0.0037423762.70000035
Sweep104849832020-07-18 18:12:452068 days ago1595095965IN
0xF643d1a9...e9846ca2c
0 ETH0.0056674789.48405158
Sweep101426062020-05-26 17:10:322121 days ago1590513032IN
0xF643d1a9...e9846ca2c
0 ETH0.0022159140.5
Sweep100574512020-05-13 11:09:042134 days ago1589368144IN
0xF643d1a9...e9846ca2c
0 ETH0.0028201649.5
Transfer100574272020-05-13 11:02:482134 days ago1589367768IN
0xF643d1a9...e9846ca2c
9.998 ETH0.0010525550
Sweep98261642020-04-07 16:50:522170 days ago1586278252IN
0xF643d1a9...e9846ca2c
0 ETH0.001253422
Transfer98261432020-04-07 16:46:162170 days ago1586277976IN
0xF643d1a9...e9846ca2c
6.398 ETH0.0003157615
Sweep96785272020-03-15 21:29:362193 days ago1584307776IN
0xF643d1a9...e9846ca2c
0 ETH0.0011960722
Sweep96608232020-03-13 3:40:422196 days ago1584070842IN
0xF643d1a9...e9846ca2c
0 ETH0.01590585292.5
Sweep96602672020-03-13 1:36:242196 days ago1584063384IN
0xF643d1a9...e9846ca2c
0 ETH0.01174586216
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-123696182021-05-04 19:26:301778 days ago1620156390
0xF643d1a9...e9846ca2c
9.98 ETH
-105105012020-07-22 17:22:252064 days ago1595438545
0xF643d1a9...e9846ca2c
9 ETH
-100574512020-05-13 11:09:042134 days ago1589368144
0xF643d1a9...e9846ca2c
9.998 ETH
-98261642020-04-07 16:50:522170 days ago1586278252
0xF643d1a9...e9846ca2c
6.398 ETH
-90223832019-11-29 18:00:002300 days ago1575050400
0xF643d1a9...e9846ca2c
3.198 ETH
-88430302019-10-30 23:15:592330 days ago1572477359
0xF643d1a9...e9846ca2c
1.998 ETH
Transfer46829482017-12-06 2:28:173024 days ago1512527297
0xF643d1a9...e9846ca2c
0.87137 ETH
Transfer46464152017-11-29 22:32:523030 days ago1511994772
0xF643d1a9...e9846ca2c
0.2 ETH
Transfer46201962017-11-25 15:45:333034 days ago1511624733  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.