ETH Price: $2,335.72 (-0.68%)

Contract

0xec2c873e23bB2433BBC77f8E3DD59b08C4E730C3
 

Overview

ETH Balance

0.002421452242201907 ETH

Eth Value

$5.66 (@ $2,335.72/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep123167832021-04-26 15:29:181786 days ago1619450958IN
0xec2c873e...8C4E730C3
0 ETH0.00368557.5
Transfer119084392021-02-22 18:21:221849 days ago1614018082IN
0xec2c873e...8C4E730C3
0.00242144 ETH0.0063153300
Sweep57247272018-06-03 10:43:092844 days ago1528022589IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer57247122018-06-03 10:37:032844 days ago1528022223IN
0xec2c873e...8C4E730C3
0.0898043 ETH0.000021051
Sweep57195712018-06-02 12:42:132845 days ago1527943333IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer57195472018-06-02 12:36:582845 days ago1527943018IN
0xec2c873e...8C4E730C3
0.12023695 ETH0.000021051
Sweep57139792018-06-01 12:58:402846 days ago1527857920IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer57139532018-06-01 12:53:392846 days ago1527857619IN
0xec2c873e...8C4E730C3
0.12002324 ETH0.000021051
Sweep57083122018-05-31 12:40:532847 days ago1527770453IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer57082892018-05-31 12:34:492847 days ago1527770089IN
0xec2c873e...8C4E730C3
0.12036629 ETH0.000021051
Sweep57025752018-05-30 12:26:422848 days ago1527683202IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer57025562018-05-30 12:20:592848 days ago1527682859IN
0xec2c873e...8C4E730C3
0.12002361 ETH0.000021051
Sweep56957652018-05-29 7:08:382849 days ago1527577718IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer56957422018-05-29 7:03:522849 days ago1527577432IN
0xec2c873e...8C4E730C3
0.12061007 ETH0.000021051
Sweep56899522018-05-28 6:38:582850 days ago1527489538IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer56899272018-05-28 6:33:212850 days ago1527489201IN
0xec2c873e...8C4E730C3
0.12022265 ETH0.000021051
Sweep56838112018-05-27 4:37:212851 days ago1527395841IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer56837932018-05-27 4:32:592851 days ago1527395579IN
0xec2c873e...8C4E730C3
0.12000204 ETH0.000021051
Sweep56781282018-05-26 4:49:002852 days ago1527310140IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer56781052018-05-26 4:44:112852 days ago1527309851IN
0xec2c873e...8C4E730C3
0.12032101 ETH0.000021051
Sweep56723902018-05-25 4:11:252853 days ago1527221485IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer56723532018-05-25 4:01:552853 days ago1527220915IN
0xec2c873e...8C4E730C3
0.12050477 ETH0.000021051
Sweep56666592018-05-24 3:34:542854 days ago1527132894IN
0xec2c873e...8C4E730C3
0 ETH0.0025028550
Transfer56666092018-05-24 3:22:512854 days ago1527132171IN
0xec2c873e...8C4E730C3
0.12024871 ETH0.000021051
Transfer56640962018-05-23 16:57:452855 days ago1527094665IN
0xec2c873e...8C4E730C3
0.04944804 ETH0.0010525550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer57247272018-06-03 10:43:092844 days ago1528022589
0xec2c873e...8C4E730C3
0.08980431 ETH
Transfer57195712018-06-02 12:42:132845 days ago1527943333
0xec2c873e...8C4E730C3
0.12023695 ETH
Transfer57139792018-06-01 12:58:402846 days ago1527857920
0xec2c873e...8C4E730C3
0.12002324 ETH
Transfer57083122018-05-31 12:40:532847 days ago1527770453
0xec2c873e...8C4E730C3
0.1203663 ETH
Transfer57025752018-05-30 12:26:422848 days ago1527683202
0xec2c873e...8C4E730C3
0.12002361 ETH
Transfer56957652018-05-29 7:08:382849 days ago1527577718
0xec2c873e...8C4E730C3
0.12061007 ETH
Transfer56899522018-05-28 6:38:582850 days ago1527489538
0xec2c873e...8C4E730C3
0.12022266 ETH
Transfer56838112018-05-27 4:37:212851 days ago1527395841
0xec2c873e...8C4E730C3
0.12000205 ETH
Transfer56781282018-05-26 4:49:002852 days ago1527310140
0xec2c873e...8C4E730C3
0.12032101 ETH
Transfer56723902018-05-25 4:11:252853 days ago1527221485
0xec2c873e...8C4E730C3
0.12050478 ETH
Transfer56666592018-05-24 3:34:542854 days ago1527132894
0xec2c873e...8C4E730C3
0.16969675 ETH
Transfer56604302018-05-23 1:07:062856 days ago1527037626
0xec2c873e...8C4E730C3
0.12020504 ETH
Transfer56544892018-05-21 23:45:592857 days ago1526946359
0xec2c873e...8C4E730C3
0.12037012 ETH
Transfer56474612018-05-20 17:57:262858 days ago1526839046
0xec2c873e...8C4E730C3
0.12006782 ETH
Transfer56415682018-05-19 17:11:052859 days ago1526749865
0xec2c873e...8C4E730C3
0.12025027 ETH
Transfer56360382018-05-18 17:31:522860 days ago1526664712
0xec2c873e...8C4E730C3
0.12030803 ETH
Transfer56303522018-05-17 17:11:492861 days ago1526577109
0xec2c873e...8C4E730C3
0.12004541 ETH
Transfer56248202018-05-16 18:00:112862 days ago1526493611
0xec2c873e...8C4E730C3
0.12021026 ETH
Transfer56190052018-05-15 17:18:252863 days ago1526404705
0xec2c873e...8C4E730C3
0.12015259 ETH
Transfer56133222018-05-14 17:15:462864 days ago1526318146
0xec2c873e...8C4E730C3
0.1204815 ETH
Transfer56067202018-05-13 13:27:502865 days ago1526218070
0xec2c873e...8C4E730C3
0.12043793 ETH
Transfer56005822018-05-12 11:51:562866 days ago1526125916
0xec2c873e...8C4E730C3
0.12007289 ETH
Transfer55946692018-05-11 11:17:052867 days ago1526037425
0xec2c873e...8C4E730C3
0.12019714 ETH
Transfer55887032018-05-10 10:09:392868 days ago1525946979
0xec2c873e...8C4E730C3
0.12026291 ETH
Transfer55827842018-05-09 9:20:162869 days ago1525857616
0xec2c873e...8C4E730C3
0.12022837 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.