ETH Price: $2,341.31 (-0.83%)

Contract

0x2F51154E50352F6aef2E99d4e05bd13672Bc044a
 

Overview

ETH Balance

0.000000004095406349 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep80586262019-06-30 10:08:172452 days ago1561889297IN
0x2F51154E...672Bc044a
0 ETH0.0010998422
Transfer80586032019-06-30 10:05:262452 days ago1561889126IN
0x2F51154E...672Bc044a
0.05003062 ETH0.0002105110
Sweep79601142019-06-15 0:59:222467 days ago1560560362IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer79600982019-06-15 0:56:462467 days ago1560560206IN
0x2F51154E...672Bc044a
0.05004919 ETH0.0002105110
Sweep78934452019-06-04 14:42:332478 days ago1559659353IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer78934262019-06-04 14:37:152478 days ago1559659035IN
0x2F51154E...672Bc044a
0.05006304 ETH0.0002105110
Sweep77844122019-05-18 13:28:262495 days ago1558186106IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer77843952019-05-18 13:23:102495 days ago1558185790IN
0x2F51154E...672Bc044a
0.05003211 ETH0.0002105110
Sweep72954082019-03-03 8:11:402571 days ago1551600700IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer72953832019-03-03 8:08:212571 days ago1551600501IN
0x2F51154E...672Bc044a
0.05007292 ETH0.0002105110
Sweep71617202019-02-02 3:40:562600 days ago1549078856IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer71617062019-02-02 3:37:202600 days ago1549078640IN
0x2F51154E...672Bc044a
0.0500135 ETH0.0002105110
Sweep71513552019-01-31 0:45:192602 days ago1548895519IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer71513382019-01-31 0:42:442602 days ago1548895364IN
0x2F51154E...672Bc044a
0.05012479 ETH0.0002105110
Sweep71394182019-01-28 14:17:202605 days ago1548685040IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer71394022019-01-28 14:14:252605 days ago1548684865IN
0x2F51154E...672Bc044a
0.05013569 ETH0.0002105110
Sweep71257172019-01-25 20:44:442608 days ago1548449084IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer71257022019-01-25 20:42:042608 days ago1548448924IN
0x2F51154E...672Bc044a
0.05017057 ETH0.0002105110
Sweep71130502019-01-23 8:51:502610 days ago1548233510IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer71130362019-01-23 8:48:372610 days ago1548233317IN
0x2F51154E...672Bc044a
0.05004368 ETH0.0002105110
Sweep70967732019-01-20 5:27:062613 days ago1547962026IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer70967572019-01-20 5:24:192613 days ago1547961859IN
0x2F51154E...672Bc044a
0.05002774 ETH0.0002105110
Sweep70812252019-01-17 11:14:452616 days ago1547723685IN
0x2F51154E...672Bc044a
0 ETH0.0024996550
Transfer70812102019-01-17 11:09:432616 days ago1547723383IN
0x2F51154E...672Bc044a
0.05034563 ETH0.0002105110
Sweep70677212019-01-15 0:54:252618 days ago1547513665IN
0x2F51154E...672Bc044a
0 ETH0.0024964550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-80586262019-06-30 10:08:172452 days ago1561889297
0x2F51154E...672Bc044a
0.05003063 ETH
-79601142019-06-15 0:59:222467 days ago1560560362
0x2F51154E...672Bc044a
0.05004919 ETH
-78934452019-06-04 14:42:332478 days ago1559659353
0x2F51154E...672Bc044a
0.05006305 ETH
-77844122019-05-18 13:28:262495 days ago1558186106
0x2F51154E...672Bc044a
0.05003212 ETH
-72954082019-03-03 8:11:402571 days ago1551600700
0x2F51154E...672Bc044a
0.05007292 ETH
-71617202019-02-02 3:40:562600 days ago1549078856
0x2F51154E...672Bc044a
0.05001351 ETH
-71513552019-01-31 0:45:192602 days ago1548895519
0x2F51154E...672Bc044a
0.05012479 ETH
-71394182019-01-28 14:17:202605 days ago1548685040
0x2F51154E...672Bc044a
0.05013569 ETH
-71257172019-01-25 20:44:442608 days ago1548449084
0x2F51154E...672Bc044a
0.05017058 ETH
-71130502019-01-23 8:51:502610 days ago1548233510
0x2F51154E...672Bc044a
0.05004368 ETH
-70967732019-01-20 5:27:062613 days ago1547962026
0x2F51154E...672Bc044a
0.05002775 ETH
-70812252019-01-17 11:14:452616 days ago1547723685
0x2F51154E...672Bc044a
0.05034564 ETH
-70677212019-01-15 0:54:252618 days ago1547513665
0x2F51154E...672Bc044a
0.0500192 ETH
-70555272019-01-12 21:01:152621 days ago1547326875
0x2F51154E...672Bc044a
0.05003736 ETH
-70407012019-01-10 5:07:542623 days ago1547096874
0x2F51154E...672Bc044a
0.05018387 ETH
-70272742019-01-07 19:14:492626 days ago1546888489
0x2F51154E...672Bc044a
0.05011757 ETH
-70143932019-01-05 12:16:562628 days ago1546690616
0x2F51154E...672Bc044a
0.05008088 ETH
-70022562019-01-03 7:55:452630 days ago1546502145
0x2F51154E...672Bc044a
0.05005922 ETH
-69901382019-01-01 6:09:522632 days ago1546322992
0x2F51154E...672Bc044a
0.05006591 ETH
-69762572018-12-29 21:54:282634 days ago1546120468
0x2F51154E...672Bc044a
0.05033035 ETH
-69615622018-12-27 10:29:342637 days ago1545906574
0x2F51154E...672Bc044a
0.050118 ETH
-69499242018-12-25 11:15:362639 days ago1545736536
0x2F51154E...672Bc044a
0.05021821 ETH
-69357372018-12-23 1:46:242641 days ago1545529584
0x2F51154E...672Bc044a
0.05018013 ETH
-69249032018-12-21 5:34:052643 days ago1545370445
0x2F51154E...672Bc044a
0.05004067 ETH
-69132842018-12-19 5:45:042645 days ago1545198304
0x2F51154E...672Bc044a
0.0501692 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.