ETH Price: $2,053.24 (-0.23%)

Contract

0xFDF2FBD2ff696C7F89dFcddbf6E470ed39D8A371
 

Overview

ETH Balance

0.000000008971707 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep72380592019-02-18 23:55:402597 days ago1550534140IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer72380442019-02-18 23:49:542597 days ago1550533794IN
0xFDF2FBD2...d39D8A371
0.19380058 ETH0.0008630941
Sweep72071632019-02-11 15:06:082604 days ago1549897568IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer72071482019-02-11 15:00:052604 days ago1549897205IN
0xFDF2FBD2...d39D8A371
0.20094447 ETH0.0008630941
Sweep71710042019-02-04 1:08:102612 days ago1549242490IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer71709862019-02-04 1:03:402612 days ago1549242220IN
0xFDF2FBD2...d39D8A371
0.29212886 ETH0.0008420440
Sweep71156492019-01-23 21:11:182623 days ago1548277878IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer71156312019-01-23 21:04:322623 days ago1548277472IN
0xFDF2FBD2...d39D8A371
0.44266572 ETH0.0008630941
Sweep70230272019-01-07 1:12:112640 days ago1546823531IN
0xFDF2FBD2...d39D8A371
0 ETH0.0024996550
Transfer70230132019-01-07 1:07:582640 days ago1546823278IN
0xFDF2FBD2...d39D8A371
0.18675008 ETH0.0008630941
Sweep69823792018-12-30 22:45:212647 days ago1546209921IN
0xFDF2FBD2...d39D8A371
0 ETH0.0024996550
Transfer69823612018-12-30 22:42:332647 days ago1546209753IN
0xFDF2FBD2...d39D8A371
0.16044116 ETH0.0008630941
Sweep69462572018-12-24 20:26:082653 days ago1545683168IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer69462392018-12-24 20:21:472653 days ago1545682907IN
0xFDF2FBD2...d39D8A371
0.94834151 ETH0.0008630941
Sweep67290892018-11-18 19:02:042689 days ago1542567724IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer67290722018-11-18 18:56:562689 days ago1542567416IN
0xFDF2FBD2...d39D8A371
0.18398388 ETH0.0008630941
Transfer66862812018-11-11 19:08:592696 days ago1541963339IN
0xFDF2FBD2...d39D8A371
0.18699569 ETH0.00086141
Sweep66003912018-10-28 17:06:192710 days ago1540746379IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer66003682018-10-28 17:00:092710 days ago1540746009IN
0xFDF2FBD2...d39D8A371
0.16004 ETH0.0008630941
Sweep65571152018-10-21 15:29:312717 days ago1540135771IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer65570792018-10-21 15:22:152717 days ago1540135335IN
0xFDF2FBD2...d39D8A371
0.160104 ETH0.0008630941
Sweep65162232018-10-14 22:59:482724 days ago1539557988IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer65162082018-10-14 22:55:342724 days ago1539557734IN
0xFDF2FBD2...d39D8A371
0.24076 ETH0.0008630941
Sweep64676712018-10-07 2:13:122732 days ago1538878392IN
0xFDF2FBD2...d39D8A371
0 ETH0.0025028550
Transfer64676492018-10-07 2:08:302732 days ago1538878110IN
0xFDF2FBD2...d39D8A371
0.160072 ETH0.0008630941
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-72380592019-02-18 23:55:402597 days ago1550534140
0xFDF2FBD2...d39D8A371
0.19380058 ETH
-72071632019-02-11 15:06:082604 days ago1549897568
0xFDF2FBD2...d39D8A371
0.20094447 ETH
-71710042019-02-04 1:08:102612 days ago1549242490
0xFDF2FBD2...d39D8A371
0.29212886 ETH
-71156492019-01-23 21:11:182623 days ago1548277878
0xFDF2FBD2...d39D8A371
0.44266572 ETH
-70230272019-01-07 1:12:112640 days ago1546823531
0xFDF2FBD2...d39D8A371
0.18675008 ETH
-69823792018-12-30 22:45:212647 days ago1546209921
0xFDF2FBD2...d39D8A371
0.16044116 ETH
-69462572018-12-24 20:26:082653 days ago1545683168
0xFDF2FBD2...d39D8A371
0.94834151 ETH
Transfer67290892018-11-18 19:02:042689 days ago1542567724
0xFDF2FBD2...d39D8A371
0.18398388 ETH
Transfer66003912018-10-28 17:06:192710 days ago1540746379
0xFDF2FBD2...d39D8A371
0.16004 ETH
Transfer65571152018-10-21 15:29:312717 days ago1540135771
0xFDF2FBD2...d39D8A371
0.160104 ETH
Transfer65162232018-10-14 22:59:482724 days ago1539557988
0xFDF2FBD2...d39D8A371
0.24076 ETH
Transfer64676712018-10-07 2:13:122732 days ago1538878392
0xFDF2FBD2...d39D8A371
0.160072 ETH
Transfer64302672018-09-30 23:58:162738 days ago1538351896
0xFDF2FBD2...d39D8A371
0.240152 ETH
Transfer63873652018-09-23 23:05:282745 days ago1537743928
0xFDF2FBD2...d39D8A371
0.160176 ETH
Transfer63432902018-09-16 16:29:192752 days ago1537115359
0xFDF2FBD2...d39D8A371
0.08012 ETH
Transfer63125192018-09-11 14:35:222757 days ago1536676522
0xFDF2FBD2...d39D8A371
0.24032 ETH
Transfer62599262018-09-02 18:35:262766 days ago1535913326
0xFDF2FBD2...d39D8A371
0.160264 ETH
Transfer62176762018-08-26 15:23:562773 days ago1535297036
0xFDF2FBD2...d39D8A371
0.08 ETH
Transfer61722212018-08-18 23:15:562781 days ago1534634156
0xFDF2FBD2...d39D8A371
0.240144 ETH
Transfer61377292018-08-13 3:13:102787 days ago1534129990
0xFDF2FBD2...d39D8A371
0.160096 ETH
Transfer60925342018-08-05 11:50:212794 days ago1533469821
0xFDF2FBD2...d39D8A371
0.160112 ETH
Transfer60538382018-07-29 22:58:532801 days ago1532905133
0xFDF2FBD2...d39D8A371
0.160096 ETH
Transfer60170782018-07-23 17:41:002807 days ago1532367660
0xFDF2FBD2...d39D8A371
0.16016 ETH
Transfer59708772018-07-15 20:59:282815 days ago1531688368
0xFDF2FBD2...d39D8A371
0.080032 ETH
Transfer59346092018-07-09 18:41:212821 days ago1531161681
0xFDF2FBD2...d39D8A371
0.16008 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.