ETH Price: $2,069.36 (+0.08%)

Contract

0xEcF044eEe4a0fF7EF2221Ad87F8B774326b8cD0D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep129176162021-07-29 0:41:531687 days ago1627519313IN
0xEcF044eE...326b8cD0D
0 ETH0.0019226130
Sweep129175142021-07-29 0:21:351687 days ago1627518095IN
0xEcF044eE...326b8cD0D
0 ETH0.0019226130
Sweep129174352021-07-29 0:03:361687 days ago1627517016IN
0xEcF044eE...326b8cD0D
0 ETH0.0019222530
Sweep124736592021-05-20 21:20:321756 days ago1621545632IN
0xEcF044eE...326b8cD0D
0 ETH0.0046201681.65
Transfer124736412021-05-20 21:16:311756 days ago1621545391IN
0xEcF044eE...326b8cD0D
9.6825 ETH0.0019787994
Sweep122056362021-04-09 12:26:191798 days ago1617971179IN
0xEcF044eE...326b8cD0D
0 ETH0.0066520195.7
Sweep121961352021-04-08 1:07:451799 days ago1617844065IN
0xEcF044eE...326b8cD0D
0 ETH0.00570419100.1
Transfer121961192021-04-08 1:02:541799 days ago1617843774IN
0xEcF044eE...326b8cD0D
9.52159615 ETH0.0147357700
Sweep121523142021-04-01 7:39:191806 days ago1617262759IN
0xEcF044eE...326b8cD0D
0 ETH0.01513906217.8
Sweep121436092021-03-30 23:21:231807 days ago1617146483IN
0xEcF044eE...326b8cD0D
0 ETH0.00879288126.5
Sweep121350962021-03-29 15:57:041809 days ago1617033424IN
0xEcF044eE...326b8cD0D
0 ETH0.01490968214.5
Sweep121349882021-03-29 15:33:551809 days ago1617032035IN
0xEcF044eE...326b8cD0D
0 ETH0.0150652216.7
Sweep121339012021-03-29 11:33:231809 days ago1617017603IN
0xEcF044eE...326b8cD0D
0 ETH0.00802967115.5
Sweep121330562021-03-29 8:28:461809 days ago1617006526IN
0xEcF044eE...326b8cD0D
0 ETH0.00749436107.8
Sweep120504302021-03-16 15:25:471822 days ago1615908347IN
0xEcF044eE...326b8cD0D
0 ETH0.01510672265.1
Transfer120504082021-03-16 15:21:431822 days ago1615908103IN
0xEcF044eE...326b8cD0D
6.33730476 ETH0.00806253383
Sweep120468212021-03-16 1:53:381822 days ago1615859618IN
0xEcF044eE...326b8cD0D
0 ETH0.01071887188.1
Transfer120468062021-03-16 1:49:281822 days ago1615859368IN
0xEcF044eE...326b8cD0D
10.44718069 ETH0.00566271269
Sweep120466972021-03-16 1:28:001822 days ago1615858080IN
0xEcF044eE...326b8cD0D
0 ETH0.01190735209
Transfer120466752021-03-16 1:23:021822 days ago1615857782IN
0xEcF044eE...326b8cD0D
10.83509794 ETH0.00614689292
Sweep120466342021-03-16 1:14:111822 days ago1615857251IN
0xEcF044eE...326b8cD0D
0 ETH0.01585892278.3
Transfer120466092021-03-16 1:09:471822 days ago1615856987IN
0xEcF044eE...326b8cD0D
8.47319611 ETH0.00610479290
Sweep120465082021-03-16 0:47:261822 days ago1615855646IN
0xEcF044eE...326b8cD0D
0 ETH0.01328137233.068
Transfer120464922021-03-16 0:43:341822 days ago1615855414IN
0xEcF044eE...326b8cD0D
10.65152371 ETH0.00501013238
Sweep120460962021-03-15 23:17:071822 days ago1615850227IN
0xEcF044eE...326b8cD0D
0 ETH0.01137392199.595
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-124736592021-05-20 21:20:321756 days ago1621545632
0xEcF044eE...326b8cD0D
9.6825 ETH
-121961352021-04-08 1:07:451799 days ago1617844065
0xEcF044eE...326b8cD0D
9.52159615 ETH
-120504302021-03-16 15:25:471822 days ago1615908347
0xEcF044eE...326b8cD0D
6.33730476 ETH
-120468212021-03-16 1:53:381822 days ago1615859618
0xEcF044eE...326b8cD0D
10.44718069 ETH
-120466972021-03-16 1:28:001822 days ago1615858080
0xEcF044eE...326b8cD0D
10.83509794 ETH
-120466342021-03-16 1:14:111822 days ago1615857251
0xEcF044eE...326b8cD0D
8.47319611 ETH
-120465082021-03-16 0:47:261822 days ago1615855646
0xEcF044eE...326b8cD0D
10.65152371 ETH
-120460962021-03-15 23:17:071822 days ago1615850227
0xEcF044eE...326b8cD0D
2.08144814 ETH
-120458622021-03-15 22:22:511822 days ago1615846971
0xEcF044eE...326b8cD0D
4.14112897 ETH
-120455602021-03-15 21:16:111822 days ago1615842971
0xEcF044eE...326b8cD0D
0.622 ETH
-120454312021-03-15 20:50:241822 days ago1615841424
0xEcF044eE...326b8cD0D
1.35 ETH
-120451432021-03-15 19:43:421822 days ago1615837422
0xEcF044eE...326b8cD0D
6.23520814 ETH
-120433082021-03-15 12:57:431823 days ago1615813063
0xEcF044eE...326b8cD0D
10.16802505 ETH
-120382242021-03-14 18:10:331823 days ago1615745433
0xEcF044eE...326b8cD0D
3.99607189 ETH
-120380792021-03-14 17:37:081823 days ago1615743428
0xEcF044eE...326b8cD0D
5.99736544 ETH
-120378992021-03-14 17:01:491823 days ago1615741309
0xEcF044eE...326b8cD0D
6.65842236 ETH
-120377682021-03-14 16:26:331823 days ago1615739193
0xEcF044eE...326b8cD0D
3.71551835 ETH
-120373892021-03-14 15:02:191824 days ago1615734139
0xEcF044eE...326b8cD0D
7.97906343 ETH
-120372432021-03-14 14:32:431824 days ago1615732363
0xEcF044eE...326b8cD0D
3.97073495 ETH
-120371482021-03-14 14:13:381824 days ago1615731218
0xEcF044eE...326b8cD0D
3.9844144 ETH
-120370012021-03-14 13:42:071824 days ago1615729327
0xEcF044eE...326b8cD0D
10.03297792 ETH
-120368862021-03-14 13:15:081824 days ago1615727708
0xEcF044eE...326b8cD0D
2.97887497 ETH
-120325942021-03-13 21:17:561824 days ago1615670276
0xEcF044eE...326b8cD0D
4.8263496 ETH
-120318362021-03-13 18:22:301824 days ago1615659750
0xEcF044eE...326b8cD0D
9.6868479 ETH
-120313562021-03-13 16:34:531824 days ago1615653293
0xEcF044eE...326b8cD0D
3.35845475 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.