ETH Price: $3,497.05 (+1.21%)

Contract

0xfD2A338e0D329AC78218e5512A35E52656a5fB5a
 

Overview

ETH Balance

0.0442185110815815 ETH

Eth Value

$154.63 (@ $3,497.05/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer119692672021-03-04 3:11:581391 days ago1614827518IN
0xfD2A338e...656a5fB5a
0.0442185 ETH0.000021051
Sweep118764912021-02-17 20:18:051406 days ago1613593085IN
0xfD2A338e...656a5fB5a
0 ETH0.01264534222
Transfer118764642021-02-17 20:12:551406 days ago1613592775IN
0xfD2A338e...656a5fB5a
0.05001494 ETH0.000021051
Sweep118069062021-02-07 3:44:071416 days ago1612669447IN
0xfD2A338e...656a5fB5a
0 ETH0.00820584144
Transfer118068912021-02-07 3:41:171416 days ago1612669277IN
0xfD2A338e...656a5fB5a
0.07688697 ETH0.000021051
Sweep117613512021-01-31 3:35:231423 days ago1612064123IN
0xfD2A338e...656a5fB5a
0 ETH0.00789812138.6
Transfer117613372021-01-31 3:32:201423 days ago1612063940IN
0xfD2A338e...656a5fB5a
0.10086279 ETH0.000021051
Sweep117159672021-01-24 3:37:291430 days ago1611459449IN
0xfD2A338e...656a5fB5a
0 ETH0.0036242463.6
Transfer117159492021-01-24 3:32:011430 days ago1611459121IN
0xfD2A338e...656a5fB5a
0.10633202 ETH0.000021051
Sweep116702552021-01-17 3:26:361437 days ago1610853996IN
0xfD2A338e...656a5fB5a
0 ETH0.0027304947.916
Transfer116702312021-01-17 3:21:381437 days ago1610853698IN
0xfD2A338e...656a5fB5a
0.12619079 ETH0.000021051
Sweep116245812021-01-10 3:19:531444 days ago1610248793IN
0xfD2A338e...656a5fB5a
0 ETH0.0036857864.68
Transfer116245592021-01-10 3:14:571444 days ago1610248497IN
0xfD2A338e...656a5fB5a
0.15718263 ETH0.000021051
Sweep115790022021-01-03 3:11:381451 days ago1609643498IN
0xfD2A338e...656a5fB5a
0 ETH0.0043080675.6
Transfer115789762021-01-03 3:05:371451 days ago1609643137IN
0xfD2A338e...656a5fB5a
0.14384858 ETH0.000021051
Sweep115333122020-12-27 3:07:141458 days ago1609038434IN
0xfD2A338e...656a5fB5a
0 ETH0.0036857864.68
Transfer115332932020-12-27 3:03:121458 days ago1609038192IN
0xfD2A338e...656a5fB5a
0.10943576 ETH0.000021051
Sweep114876612020-12-20 3:04:431465 days ago1608433483IN
0xfD2A338e...656a5fB5a
0 ETH0.0018459232.4
Transfer114876352020-12-20 2:59:281465 days ago1608433168IN
0xfD2A338e...656a5fB5a
0.07131423 ETH0.000021051
Sweep114420212020-12-13 2:58:141472 days ago1607828294IN
0xfD2A338e...656a5fB5a
0 ETH0.0018459232.4
Transfer114420012020-12-13 2:53:521472 days ago1607828032IN
0xfD2A338e...656a5fB5a
0.06312566 ETH0.000021051
Sweep113965472020-12-06 2:56:521479 days ago1607223412IN
0xfD2A338e...656a5fB5a
0 ETH0.0017091930
Transfer113965262020-12-06 2:52:191479 days ago1607223139IN
0xfD2A338e...656a5fB5a
0.06413614 ETH0.000021051
Sweep113510052020-11-29 2:51:351486 days ago1606618295IN
0xfD2A338e...656a5fB5a
0 ETH0.0017091930
Transfer113509792020-11-29 2:47:451486 days ago1606618065IN
0xfD2A338e...656a5fB5a
0.0707031 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
118764912021-02-17 20:18:051406 days ago1613593085
0xfD2A338e...656a5fB5a
0.05001495 ETH
118069062021-02-07 3:44:071416 days ago1612669447
0xfD2A338e...656a5fB5a
0.07688697 ETH
117613512021-01-31 3:35:231423 days ago1612064123
0xfD2A338e...656a5fB5a
0.1008628 ETH
117159672021-01-24 3:37:291430 days ago1611459449
0xfD2A338e...656a5fB5a
0.10633202 ETH
116702552021-01-17 3:26:361437 days ago1610853996
0xfD2A338e...656a5fB5a
0.1261908 ETH
116245812021-01-10 3:19:531444 days ago1610248793
0xfD2A338e...656a5fB5a
0.15718264 ETH
115790022021-01-03 3:11:381451 days ago1609643498
0xfD2A338e...656a5fB5a
0.14384858 ETH
115333122020-12-27 3:07:141458 days ago1609038434
0xfD2A338e...656a5fB5a
0.10943577 ETH
114876612020-12-20 3:04:431465 days ago1608433483
0xfD2A338e...656a5fB5a
0.07131424 ETH
114420212020-12-13 2:58:141472 days ago1607828294
0xfD2A338e...656a5fB5a
0.06312566 ETH
113965472020-12-06 2:56:521479 days ago1607223412
0xfD2A338e...656a5fB5a
0.06413615 ETH
113510052020-11-29 2:51:351486 days ago1606618295
0xfD2A338e...656a5fB5a
0.0707031 ETH
113053912020-11-22 2:43:311493 days ago1606013011
0xfD2A338e...656a5fB5a
0.0712697 ETH
112597382020-11-15 2:39:421500 days ago1605407982
0xfD2A338e...656a5fB5a
0.0667213 ETH
112140582020-11-08 2:29:251507 days ago1604802565
0xfD2A338e...656a5fB5a
0.06524115 ETH
111684812020-11-01 2:27:571514 days ago1604197677
0xfD2A338e...656a5fB5a
0.06787093 ETH
111323102020-10-26 13:30:031520 days ago1603719003
0xfD2A338e...656a5fB5a
0.20011144 ETH
111228402020-10-25 2:19:341521 days ago1603592374
0xfD2A338e...656a5fB5a
0.06713845 ETH
110771642020-10-18 2:16:371528 days ago1602987397
0xfD2A338e...656a5fB5a
0.07078766 ETH
110314612020-10-11 2:18:201535 days ago1602382700
0xfD2A338e...656a5fB5a
0.06996177 ETH
109418682020-09-27 2:12:581549 days ago1601172778
0xfD2A338e...656a5fB5a
0.09417026 ETH
108963732020-09-20 2:05:501556 days ago1600567550
0xfD2A338e...656a5fB5a
0.14097196 ETH
108507792020-09-13 2:00:231563 days ago1599962423
0xfD2A338e...656a5fB5a
0.10194044 ETH
108050852020-09-06 1:56:041570 days ago1599357364
0xfD2A338e...656a5fB5a
0.17647903 ETH
107593422020-08-30 1:55:501577 days ago1598752550
0xfD2A338e...656a5fB5a
0.1010121 ETH
View All Internal Transactions
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.