ETH Price: $2,081.99 (-3.39%)

Contract

0xD4a56bAa8961af17BbCD6cE36eaF4E0cFb4BBaf7
 

Overview

ETH Balance

0.000000009420957119 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep142953502022-02-28 15:05:501483 days ago1646060750IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0038585768.20520277
Transfer142953282022-02-28 15:00:311483 days ago1646060431IN
0xD4a56bAa...cFb4BBaf7
0.01621302 ETH0.0011587255.04374171
Transfer142113142022-02-15 14:51:011496 days ago1644936661IN
0xD4a56bAa...cFb4BBaf7
0.02803782 ETH0.0010785251.23410895
Transfer139006742021-12-29 14:09:231544 days ago1640786963IN
0xD4a56bAa...cFb4BBaf7
0.00723258 ETH0.00243002115.43527048
Sweep116868142021-01-19 16:24:071887 days ago1611073447IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.00909682152.40888
Sweep75887542019-04-18 1:20:582530 days ago1555550458IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer75887402019-04-18 1:18:012530 days ago1555550281IN
0xD4a56bAa...cFb4BBaf7
4.08040345 ETH0.000105255
Sweep70106872019-01-04 20:21:032633 days ago1546633263IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer70106722019-01-04 20:17:082633 days ago1546633028IN
0xD4a56bAa...cFb4BBaf7
4.69893267 ETH0.000189459
Sweep69212922018-12-20 14:48:532649 days ago1545317333IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer69212792018-12-20 14:43:402649 days ago1545317020IN
0xD4a56bAa...cFb4BBaf7
6.47603391 ETH0.0002105110
Sweep68561842018-12-09 18:22:252659 days ago1544379745IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer68561682018-12-09 18:18:102659 days ago1544379490IN
0xD4a56bAa...cFb4BBaf7
7.335 ETH0.000147357
Sweep66852192018-11-11 14:55:092688 days ago1541948109IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer66851432018-11-11 14:38:102688 days ago1541947090IN
0xD4a56bAa...cFb4BBaf7
2.38845897 ETH0.00008424
Sweep66210152018-11-01 2:14:492698 days ago1541038489IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer66209932018-11-01 2:07:392698 days ago1541038059IN
0xD4a56bAa...cFb4BBaf7
3.05498981 ETH0.00008424
Sweep64645602018-10-06 14:11:262724 days ago1538835086IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer64645392018-10-06 14:06:322724 days ago1538834792IN
0xD4a56bAa...cFb4BBaf7
3.35498456 ETH0.00008424
Sweep64595732018-10-05 18:52:092724 days ago1538765529IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0024996550
Transfer64595542018-10-05 18:45:442724 days ago1538765144IN
0xD4a56bAa...cFb4BBaf7
3.38 ETH0.000105255
Sweep63915042018-09-24 15:24:392735 days ago1537802679IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0025028550
Transfer63914812018-09-24 15:18:332735 days ago1537802313IN
0xD4a56bAa...cFb4BBaf7
14.27112561 ETH0.000189459
Sweep63520842018-09-18 3:12:572742 days ago1537240377IN
0xD4a56bAa...cFb4BBaf7
0 ETH0.0024996550
Transfer63520592018-09-18 3:06:472742 days ago1537240007IN
0xD4a56bAa...cFb4BBaf7
3.55 ETH0.000147357
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-142953502022-02-28 15:05:501483 days ago1646060750
0xD4a56bAa...cFb4BBaf7
0.05148342 ETH
-75887542019-04-18 1:20:582530 days ago1555550458
0xD4a56bAa...cFb4BBaf7
4.08040345 ETH
-70106872019-01-04 20:21:032633 days ago1546633263
0xD4a56bAa...cFb4BBaf7
4.69893267 ETH
-69212922018-12-20 14:48:532649 days ago1545317333
0xD4a56bAa...cFb4BBaf7
6.47603391 ETH
-68561842018-12-09 18:22:252659 days ago1544379745
0xD4a56bAa...cFb4BBaf7
7.335 ETH
Transfer66852192018-11-11 14:55:092688 days ago1541948109
0xD4a56bAa...cFb4BBaf7
2.38845897 ETH
Transfer66210152018-11-01 2:14:492698 days ago1541038489
0xD4a56bAa...cFb4BBaf7
3.05498981 ETH
Transfer64645602018-10-06 14:11:262724 days ago1538835086
0xD4a56bAa...cFb4BBaf7
3.35498456 ETH
Transfer64595732018-10-05 18:52:092724 days ago1538765529
0xD4a56bAa...cFb4BBaf7
3.38 ETH
Transfer63915042018-09-24 15:24:392735 days ago1537802679
0xD4a56bAa...cFb4BBaf7
14.27112561 ETH
Transfer63520842018-09-18 3:12:572742 days ago1537240377
0xD4a56bAa...cFb4BBaf7
3.55 ETH
Transfer63182352018-09-12 13:02:432748 days ago1536757363
0xD4a56bAa...cFb4BBaf7
4.63 ETH
Transfer63097612018-09-11 3:19:452749 days ago1536635985
0xD4a56bAa...cFb4BBaf7
3.6 ETH
Transfer62788072018-09-05 22:35:112754 days ago1536186911
0xD4a56bAa...cFb4BBaf7
9.1 ETH
Transfer62763152018-09-05 12:41:302755 days ago1536151290
0xD4a56bAa...cFb4BBaf7
0.76272196 ETH
Transfer50405122018-02-06 10:09:582966 days ago1517911798  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.