ETH Price: $1,992.13 (+0.04%)

Contract

0xfEacedb40A7b7BF20A850Ed97E6c26e4BD6D3c2F
 

Overview

ETH Balance

0.005130810464995514 ETH

Eth Value

$10.22 (@ $1,992.13/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer87006152019-10-08 9:47:442363 days ago1570528064IN
0xfEacedb4...4BD6D3c2F
0.0051308 ETH0.00012636
Sweep82126112019-07-24 9:36:552439 days ago1563961015IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0015017130
Transfer82125952019-07-24 9:35:062439 days ago1563960906IN
0xfEacedb4...4BD6D3c2F
0.10022853 ETH0.00012636
Sweep81867572019-07-20 9:29:082443 days ago1563614948IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0011012522
Transfer81867302019-07-20 9:24:102443 days ago1563614650IN
0xfEacedb4...4BD6D3c2F
0.10509997 ETH0.00012636
Sweep81611382019-07-16 9:33:352447 days ago1563269615IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0015017130
Transfer81611172019-07-16 9:28:222447 days ago1563269302IN
0xfEacedb4...4BD6D3c2F
0.10052693 ETH0.00012636
Sweep81354882019-07-12 9:27:412451 days ago1562923661IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0011012522
Transfer81354742019-07-12 9:24:412451 days ago1562923481IN
0xfEacedb4...4BD6D3c2F
0.10453312 ETH0.00012636
Sweep81098102019-07-08 9:32:232455 days ago1562578343IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0015017130
Transfer81097902019-07-08 9:27:482455 days ago1562578068IN
0xfEacedb4...4BD6D3c2F
0.10704923 ETH0.00012636
Sweep80840342019-07-04 9:28:012459 days ago1562232481IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0011012522
Transfer80840202019-07-04 9:24:352459 days ago1562232275IN
0xfEacedb4...4BD6D3c2F
0.10547082 ETH0.00012636
Sweep80584272019-06-30 9:28:482463 days ago1561886928IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0011012522
Transfer80583962019-06-30 9:24:542463 days ago1561886694IN
0xfEacedb4...4BD6D3c2F
0.10793805 ETH0.00012636
Sweep80328042019-06-26 9:26:502467 days ago1561541210IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0011012522
Transfer80327852019-06-26 9:23:122467 days ago1561540992IN
0xfEacedb4...4BD6D3c2F
0.10538126 ETH0.00012636
Sweep77896932019-05-19 9:28:382505 days ago1558258118IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0025028550
Transfer77896682019-05-19 9:23:552505 days ago1558257835IN
0xfEacedb4...4BD6D3c2F
0.11435241 ETH0.00012636
Transfer73021992019-03-04 9:38:052581 days ago1551692285IN
0xfEacedb4...4BD6D3c2F
0.03638718 ETH0.00012636
Sweep70977082019-01-20 9:30:512624 days ago1547976651IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0025028550
Transfer70976912019-01-20 9:26:402624 days ago1547976400IN
0xfEacedb4...4BD6D3c2F
0.10252722 ETH0.0002105110
Sweep70808002019-01-17 9:27:092627 days ago1547717229IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0025028550
Transfer70807862019-01-17 9:25:162627 days ago1547717116IN
0xfEacedb4...4BD6D3c2F
0.10157669 ETH0.0002105110
Sweep70640652019-01-14 9:27:142630 days ago1547458034IN
0xfEacedb4...4BD6D3c2F
0 ETH0.0025028550
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-82126112019-07-24 9:36:552439 days ago1563961015
0xfEacedb4...4BD6D3c2F
0.10022853 ETH
-81867572019-07-20 9:29:082443 days ago1563614948
0xfEacedb4...4BD6D3c2F
0.10509997 ETH
-81611382019-07-16 9:33:352447 days ago1563269615
0xfEacedb4...4BD6D3c2F
0.10052693 ETH
-81354882019-07-12 9:27:412451 days ago1562923661
0xfEacedb4...4BD6D3c2F
0.10453313 ETH
-81098102019-07-08 9:32:232455 days ago1562578343
0xfEacedb4...4BD6D3c2F
0.10704924 ETH
-80840342019-07-04 9:28:012459 days ago1562232481
0xfEacedb4...4BD6D3c2F
0.10547082 ETH
-80584272019-06-30 9:28:482463 days ago1561886928
0xfEacedb4...4BD6D3c2F
0.10793806 ETH
-80328042019-06-26 9:26:502467 days ago1561541210
0xfEacedb4...4BD6D3c2F
0.10538126 ETH
-77896932019-05-19 9:28:382505 days ago1558258118
0xfEacedb4...4BD6D3c2F
0.1507396 ETH
-70977082019-01-20 9:30:512624 days ago1547976651
0xfEacedb4...4BD6D3c2F
0.10252723 ETH
-70808002019-01-17 9:27:092627 days ago1547717229
0xfEacedb4...4BD6D3c2F
0.1015767 ETH
-70640652019-01-14 9:27:142630 days ago1547458034
0xfEacedb4...4BD6D3c2F
0.13336374 ETH
-70417132019-01-10 9:30:452634 days ago1547112645
0xfEacedb4...4BD6D3c2F
0.13031675 ETH
-70193972019-01-06 9:31:132638 days ago1546767073
0xfEacedb4...4BD6D3c2F
0.10053123 ETH
-70026042019-01-03 9:28:412641 days ago1546507721
0xfEacedb4...4BD6D3c2F
0.10642225 ETH
Transfer65250082018-10-16 9:32:512720 days ago1539682371
0xfEacedb4...4BD6D3c2F
0.10858887 ETH
Transfer64242792018-09-30 0:29:322736 days ago1538267372
0xfEacedb4...4BD6D3c2F
0.20010533 ETH
Transfer57662602018-06-10 19:39:482848 days ago1528659588
0xfEacedb4...4BD6D3c2F
1.6747009 ETH
Transfer50280462018-02-04 8:05:382974 days ago1517731538  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.