ETH Price: $2,048.65 (-2.04%)

Contract

0xFf205fe2476bE2FD40A7350a4Faee8c42ACe0cC6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep122671702021-04-18 23:48:331799 days ago1618789713IN
0xFf205fe2...42ACe0cC6
0 ETH0.00611907111.55
Sweep122668802021-04-18 22:44:121799 days ago1618785852IN
0xFf205fe2...42ACe0cC6
0 ETH0.0059929109.25
Sweep122418442021-04-15 2:05:051802 days ago1618452305IN
0xFf205fe2...42ACe0cC6
0 ETH0.00581296105.8
Sweep80599792019-06-30 15:15:202457 days ago1561907720IN
0xFf205fe2...42ACe0cC6
0 ETH0.0010328522
Sweep77523212019-05-13 13:38:372505 days ago1557754717IN
0xFf205fe2...42ACe0cC6
0 ETH0.0024996550
Transfer77522992019-05-13 13:35:072505 days ago1557754507IN
0xFf205fe2...42ACe0cC6
5 ETH0.0008630941
Sweep77424422019-05-12 0:34:172507 days ago1557621257IN
0xFf205fe2...42ACe0cC6
0 ETH0.0024996550
Transfer77424282019-05-12 0:30:362507 days ago1557621036IN
0xFf205fe2...42ACe0cC6
2 ETH0.0008630941
Transfer77424252019-05-12 0:29:292507 days ago1557620969IN
0xFf205fe2...42ACe0cC6
0.5 ETH0.0008630941
Sweep77423192019-05-12 0:03:172507 days ago1557619397IN
0xFf205fe2...42ACe0cC6
0 ETH0.0024996550
Transfer77423012019-05-11 23:59:532507 days ago1557619193IN
0xFf205fe2...42ACe0cC6
1 ETH0.0008630941
Sweep48836252018-01-10 5:20:552993 days ago1515561655IN
0xFf205fe2...42ACe0cC6
0 ETH0.0045051390
Transfer48835912018-01-10 5:12:072993 days ago1515561127IN
0xFf205fe2...42ACe0cC6
0.997501 ETH0.00265242126
Sweep48297202017-12-31 11:54:583003 days ago1514721298IN
0xFf205fe2...42ACe0cC6
0 ETH0.0025496451
Transfer48296862017-12-31 11:44:383003 days ago1514720678IN
0xFf205fe2...42ACe0cC6
0.65 ETH0.0004420721
Sweep47883862017-12-24 12:18:453010 days ago1514117925IN
0xFf205fe2...42ACe0cC6
0 ETH0.002552951
Transfer47883502017-12-24 12:09:573010 days ago1514117397IN
0xFf205fe2...42ACe0cC6
1.27113009 ETH0.0005473226
Sweep47815962017-12-23 8:47:373011 days ago1514018857IN
0xFf205fe2...42ACe0cC6
0 ETH0.002552951
Transfer47815652017-12-23 8:41:153011 days ago1514018475IN
0xFf205fe2...42ACe0cC6
1.12679499 ETH0.0006315330
Sweep47708252017-12-21 11:19:513013 days ago1513855191IN
0xFf205fe2...42ACe0cC6
0 ETH0.002799656
Transfer47705922017-12-21 10:18:433013 days ago1513851523IN
0xFf205fe2...42ACe0cC6
2 ETH0.0008420440
Sweep47683092017-12-21 0:32:253014 days ago1513816345IN
0xFf205fe2...42ACe0cC6
0 ETH0.002799656
Transfer47678802017-12-20 22:42:483014 days ago1513809768IN
0xFf205fe2...42ACe0cC6
1 ETH0.0008420440
Sweep47494272017-12-17 16:34:113017 days ago1513528451IN
0xFf205fe2...42ACe0cC6
0 ETH0.0025496451
Transfer47493882017-12-17 16:24:313017 days ago1513527871IN
0xFf205fe2...42ACe0cC6
0.1 ETH0.0004420721

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-77523212019-05-13 13:38:372505 days ago1557754717
0xFf205fe2...42ACe0cC6
5 ETH
-77424422019-05-12 0:34:172507 days ago1557621257
0xFf205fe2...42ACe0cC6
2.5 ETH
-77423192019-05-12 0:03:172507 days ago1557619397
0xFf205fe2...42ACe0cC6
1 ETH
Transfer48836252018-01-10 5:20:552993 days ago1515561655
0xFf205fe2...42ACe0cC6
0.997501 ETH
Transfer48297202017-12-31 11:54:583003 days ago1514721298
0xFf205fe2...42ACe0cC6
0.65 ETH
Transfer47883862017-12-24 12:18:453010 days ago1514117925
0xFf205fe2...42ACe0cC6
1.27113009 ETH
Transfer47815962017-12-23 8:47:373011 days ago1514018857
0xFf205fe2...42ACe0cC6
1.12679499 ETH
Transfer47708252017-12-21 11:19:513013 days ago1513855191
0xFf205fe2...42ACe0cC6
2 ETH
Transfer47683092017-12-21 0:32:253014 days ago1513816345
0xFf205fe2...42ACe0cC6
1 ETH
Transfer47494272017-12-17 16:34:113017 days ago1513528451
0xFf205fe2...42ACe0cC6
0.1 ETH
Transfer47450342017-12-16 22:18:353018 days ago1513462715  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.