ETH Price: $2,641.25 (-3.01%)

Contract

0xF546303A028B3390e7C0bE7e9067E24cA6d9C712
 

Overview

ETH Balance

0.000000004425759936 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep70990472019-01-20 15:19:292210 days ago1547997569IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer70990252019-01-20 15:13:452210 days ago1547997225IN
0xF546303A...cA6d9C712
0.20009295 ETH0.0002105110
Sweep70694412019-01-15 8:17:592215 days ago1547540279IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer70694272019-01-15 8:15:092215 days ago1547540109IN
0xF546303A...cA6d9C712
0.20026999 ETH0.0002105110
Sweep70382842019-01-09 18:42:252221 days ago1547059345IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer70382612019-01-09 18:36:212221 days ago1547058981IN
0xF546303A...cA6d9C712
0.20023385 ETH0.0002105110
Sweep70063882019-01-04 1:33:402226 days ago1546565620IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer70063722019-01-04 1:31:092226 days ago1546565469IN
0xF546303A...cA6d9C712
0.20001567 ETH0.0002105110
Sweep69754912018-12-29 18:58:002232 days ago1546109880IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer69754722018-12-29 18:54:552232 days ago1546109695IN
0xF546303A...cA6d9C712
0.20018879 ETH0.0002105110
Sweep69439182018-12-24 11:03:242237 days ago1545649404IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer69438992018-12-24 10:59:462237 days ago1545649186IN
0xF546303A...cA6d9C712
0.20040465 ETH0.0002105110
Sweep69156132018-12-19 15:31:242242 days ago1545233484IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer69155962018-12-19 15:26:212242 days ago1545233181IN
0xF546303A...cA6d9C712
0.20000517 ETH0.0002105110
Sweep68876472018-12-14 22:44:162246 days ago1544827456IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer68876312018-12-14 22:40:562246 days ago1544827256IN
0xF546303A...cA6d9C712
0.20034114 ETH0.0002105110
Sweep68583362018-12-10 2:44:122251 days ago1544409852IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer68583162018-12-10 2:40:052251 days ago1544409605IN
0xF546303A...cA6d9C712
0.20008728 ETH0.0002105110
Sweep68297042018-12-05 9:12:182256 days ago1544001138IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer68296812018-12-05 9:08:262256 days ago1544000906IN
0xF546303A...cA6d9C712
0.2003426 ETH0.0002105110
Sweep68077262018-12-01 17:48:202260 days ago1543686500IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer68077072018-12-01 17:42:242260 days ago1543686144IN
0xF546303A...cA6d9C712
0.20020195 ETH0.0002105110
Sweep67859602018-11-28 3:36:302263 days ago1543376190IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
Transfer67859412018-11-28 3:32:392263 days ago1543375959IN
0xF546303A...cA6d9C712
0.20034016 ETH0.000063153
Sweep67627572018-11-24 8:03:392267 days ago1543046619IN
0xF546303A...cA6d9C712
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
70990472019-01-20 15:19:292210 days ago1547997569
0xF546303A...cA6d9C712
0.20009295 ETH
70694412019-01-15 8:17:592215 days ago1547540279
0xF546303A...cA6d9C712
0.20027 ETH
70382842019-01-09 18:42:252221 days ago1547059345
0xF546303A...cA6d9C712
0.20023385 ETH
70063882019-01-04 1:33:402226 days ago1546565620
0xF546303A...cA6d9C712
0.20001568 ETH
69754912018-12-29 18:58:002232 days ago1546109880
0xF546303A...cA6d9C712
0.20018879 ETH
69439182018-12-24 11:03:242237 days ago1545649404
0xF546303A...cA6d9C712
0.20040466 ETH
69156132018-12-19 15:31:242242 days ago1545233484
0xF546303A...cA6d9C712
0.20000517 ETH
68876472018-12-14 22:44:162246 days ago1544827456
0xF546303A...cA6d9C712
0.20034115 ETH
68583362018-12-10 2:44:122251 days ago1544409852
0xF546303A...cA6d9C712
0.20008729 ETH
68297042018-12-05 9:12:182256 days ago1544001138
0xF546303A...cA6d9C712
0.2003426 ETH
68077262018-12-01 17:48:202260 days ago1543686500
0xF546303A...cA6d9C712
0.20020195 ETH
67859602018-11-28 3:36:302263 days ago1543376190
0xF546303A...cA6d9C712
0.20034017 ETH
67627572018-11-24 8:03:392267 days ago1543046619
0xF546303A...cA6d9C712
0.20045796 ETH
67385472018-11-20 8:33:002271 days ago1542702780
0xF546303A...cA6d9C712
0.20010655 ETH
67151952018-11-16 12:26:302275 days ago1542371190
0xF546303A...cA6d9C712
0.20011867 ETH
66933002018-11-12 22:31:022278 days ago1542061862
0xF546303A...cA6d9C712
0.2001509 ETH
66661502018-11-08 12:02:152283 days ago1541678535
0xF546303A...cA6d9C712
0.20020779 ETH
66402692018-11-04 5:50:162287 days ago1541310616
0xF546303A...cA6d9C712
0.20042613 ETH
66177792018-10-31 13:27:022291 days ago1540992422
0xF546303A...cA6d9C712
0.20015016 ETH
65883062018-10-26 17:38:212296 days ago1540575501
0xF546303A...cA6d9C712
0.20007725 ETH
65647612018-10-22 21:31:002299 days ago1540243860
0xF546303A...cA6d9C712
0.20021252 ETH
65413072018-10-19 1:19:052303 days ago1539911945
0xF546303A...cA6d9C712
0.20028506 ETH
65185932018-10-15 8:18:182307 days ago1539591498
0xF546303A...cA6d9C712
0.20007785 ETH
64951512018-10-11 12:59:552311 days ago1539262795
0xF546303A...cA6d9C712
0.20034548 ETH
64686982018-10-07 6:14:392315 days ago1538892879
0xF546303A...cA6d9C712
0.20080807 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.