ETH Price: $2,564.88 (+0.74%)

Contract

0x29c5A8e0C3b2AbF7Ea96e6e77f96e98E4d7ea60E
 

Overview

ETH Balance

0.001818006846213887 ETH

Eth Value

$4.66 (@ $2,564.88/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer112906392020-11-19 20:30:031402 days ago1605817803IN
0x29c5A8e0...E4d7ea60E
0.00181799 ETH0.000021051
Sweep85817542019-09-19 19:54:171829 days ago1568922857IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0014997930
Transfer85817242019-09-19 19:47:071829 days ago1568922427IN
0x29c5A8e0...E4d7ea60E
1.5 ETH0.0004210220
Sweep82135902019-07-24 13:18:441886 days ago1563974324IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0015017130
Transfer82135722019-07-24 13:13:511886 days ago1563974031IN
0x29c5A8e0...E4d7ea60E
0.44034393 ETH0.000021051
Sweep81880842019-07-20 14:18:281890 days ago1563632308IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0011012522
Transfer81880672019-07-20 14:15:571890 days ago1563632157IN
0x29c5A8e0...E4d7ea60E
0.50022927 ETH0.000021051
Sweep81560642019-07-15 14:18:001895 days ago1563200280IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0011012522
Transfer81560442019-07-15 14:14:011895 days ago1563200041IN
0x29c5A8e0...E4d7ea60E
0.50005049 ETH0.000021051
Sweep81239092019-07-10 13:59:301900 days ago1562767170IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0011012522
Transfer81238862019-07-10 13:54:551900 days ago1562766895IN
0x29c5A8e0...E4d7ea60E
0.50013709 ETH0.000021051
Sweep80954412019-07-06 3:59:141904 days ago1562385554IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0011012522
Transfer80954212019-07-06 3:56:131904 days ago1562385373IN
0x29c5A8e0...E4d7ea60E
0.50012105 ETH0.000021051
Sweep80650162019-07-01 10:07:201909 days ago1561975640IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0015017130
Transfer80649892019-07-01 10:02:561909 days ago1561975376IN
0x29c5A8e0...E4d7ea60E
0.5001022 ETH0.000021051
Sweep80290112019-06-25 19:20:371915 days ago1561490437IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0011012522
Transfer80289952019-06-25 19:14:581915 days ago1561490098IN
0x29c5A8e0...E4d7ea60E
0.50022368 ETH0.000021051
Sweep79952022019-06-20 12:53:431920 days ago1561035223IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0015017130
Transfer79951822019-06-20 12:49:291920 days ago1561034969IN
0x29c5A8e0...E4d7ea60E
0.50034307 ETH0.000021051
Sweep79553772019-06-14 7:12:161926 days ago1560496336IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0025028550
Transfer79553572019-06-14 7:07:521926 days ago1560496072IN
0x29c5A8e0...E4d7ea60E
0.50032534 ETH0.000021051
Sweep79129012019-06-07 15:48:551933 days ago1559922535IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0025028550
Transfer79128872019-06-07 15:45:171933 days ago1559922317IN
0x29c5A8e0...E4d7ea60E
0.50027466 ETH0.000021051
Sweep78694212019-05-31 20:15:291940 days ago1559333729IN
0x29c5A8e0...E4d7ea60E
0 ETH0.0025028550
Transfer78694052019-05-31 20:11:201940 days ago1559333480IN
0x29c5A8e0...E4d7ea60E
0.50001992 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
85817542019-09-19 19:54:171829 days ago1568922857
0x29c5A8e0...E4d7ea60E
1.5 ETH
82135902019-07-24 13:18:441886 days ago1563974324
0x29c5A8e0...E4d7ea60E
0.44034393 ETH
81880842019-07-20 14:18:281890 days ago1563632308
0x29c5A8e0...E4d7ea60E
0.50022927 ETH
81560642019-07-15 14:18:001895 days ago1563200280
0x29c5A8e0...E4d7ea60E
0.5000505 ETH
81239092019-07-10 13:59:301900 days ago1562767170
0x29c5A8e0...E4d7ea60E
0.5001371 ETH
80954412019-07-06 3:59:141904 days ago1562385554
0x29c5A8e0...E4d7ea60E
0.50012105 ETH
80650162019-07-01 10:07:201909 days ago1561975640
0x29c5A8e0...E4d7ea60E
0.50010221 ETH
80290112019-06-25 19:20:371915 days ago1561490437
0x29c5A8e0...E4d7ea60E
0.50022368 ETH
79952022019-06-20 12:53:431920 days ago1561035223
0x29c5A8e0...E4d7ea60E
0.50034308 ETH
79553772019-06-14 7:12:161926 days ago1560496336
0x29c5A8e0...E4d7ea60E
0.50032534 ETH
79129012019-06-07 15:48:551933 days ago1559922535
0x29c5A8e0...E4d7ea60E
0.50027466 ETH
78694212019-05-31 20:15:291940 days ago1559333729
0x29c5A8e0...E4d7ea60E
0.50001993 ETH
78255852019-05-25 0:34:581946 days ago1558744498
0x29c5A8e0...E4d7ea60E
0.50021259 ETH
77821822019-05-18 5:01:111953 days ago1558155671
0x29c5A8e0...E4d7ea60E
0.50025143 ETH
77390322019-05-11 11:43:141960 days ago1557574994
0x29c5A8e0...E4d7ea60E
0.50019975 ETH
76979622019-05-05 1:14:171966 days ago1557018857
0x29c5A8e0...E4d7ea60E
0.50047544 ETH
76576442019-04-28 19:00:311973 days ago1556478031
0x29c5A8e0...E4d7ea60E
0.50018491 ETH
76418972019-04-26 8:26:191975 days ago1556267179
0x29c5A8e0...E4d7ea60E
0.589651 ETH
76182082019-04-22 15:17:181979 days ago1555946238
0x29c5A8e0...E4d7ea60E
0.50014899 ETH
76035242019-04-20 8:23:191981 days ago1555748599
0x29c5A8e0...E4d7ea60E
10 ETH
75840322019-04-17 7:41:081984 days ago1555486868
0x29c5A8e0...E4d7ea60E
2.1998711 ETH
75784112019-04-16 10:40:361985 days ago1555411236
0x29c5A8e0...E4d7ea60E
0.2533475 ETH
75777582019-04-16 8:11:341985 days ago1555402294
0x29c5A8e0...E4d7ea60E
0.50003626 ETH
75520082019-04-12 8:17:311989 days ago1555057051
0x29c5A8e0...E4d7ea60E
0.651545 ETH
75382872019-04-10 4:57:241991 days ago1554872244
0x29c5A8e0...E4d7ea60E
0.50058575 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.