ETH Price: $2,034.90 (-2.33%)
Gas: 0.04 Gwei
 

Overview

ETH Balance

0.002564239859723276 ETH

Eth Value

$5.22 (@ $2,034.90/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer112905502020-11-19 20:14:121925 days ago1605816852IN
0x54C044E0...A809fCDa0
0.00256423 ETH0.000021051
Sweep106442462020-08-12 9:18:272024 days ago1597223907IN
0x54C044E0...A809fCDa0
0 ETH0.0170955300
Transfer106438422020-08-12 7:47:402024 days ago1597218460IN
0x54C044E0...A809fCDa0
0.20739384 ETH0.0002105110
Sweep106373892020-08-11 7:56:562025 days ago1597132616IN
0x54C044E0...A809fCDa0
0 ETH0.0113685199.5
Transfer106373692020-08-11 7:50:192025 days ago1597132219IN
0x54C044E0...A809fCDa0
0.19082938 ETH0.0002105110
Sweep106309382020-08-10 7:49:242026 days ago1597045764IN
0x54C044E0...A809fCDa0
0 ETH0.00700915123
Transfer106309212020-08-10 7:45:122026 days ago1597045512IN
0x54C044E0...A809fCDa0
0.16502139 ETH0.0002105110
Sweep106244832020-08-09 7:57:062027 days ago1596959826IN
0x54C044E0...A809fCDa0
0 ETH0.0055548697.5
Transfer106244572020-08-09 7:50:052027 days ago1596959405IN
0x54C044E0...A809fCDa0
0.13504576 ETH0.0002105110
Sweep106179522020-08-08 8:00:222028 days ago1596873622IN
0x54C044E0...A809fCDa0
0 ETH0.0033336258.5
Transfer106179272020-08-08 7:55:222028 days ago1596873322IN
0x54C044E0...A809fCDa0
0.10799834 ETH0.0002105110
Sweep106117742020-08-07 9:04:302029 days ago1596791070IN
0x54C044E0...A809fCDa0
0 ETH0.0045815980.4
Transfer106115862020-08-07 8:20:292029 days ago1596788429IN
0x54C044E0...A809fCDa0
0.13591793 ETH0.0002105110
Sweep105985402020-08-05 7:55:582031 days ago1596614158IN
0x54C044E0...A809fCDa0
0 ETH0.003384959.40000035
Transfer105985212020-08-05 7:53:202031 days ago1596614000IN
0x54C044E0...A809fCDa0
0.10882432 ETH0.0002105110
Sweep105793212020-08-02 8:32:122034 days ago1596357132IN
0x54C044E0...A809fCDa0
0 ETH0.0044875678.75
Transfer105792952020-08-02 8:27:482034 days ago1596356868IN
0x54C044E0...A809fCDa0
0.11663657 ETH0.0002105110
Sweep105598122020-07-30 8:03:392037 days ago1596096219IN
0x54C044E0...A809fCDa0
0 ETH0.00572699100.5
Transfer105597942020-07-30 8:00:172037 days ago1596096017IN
0x54C044E0...A809fCDa0
0.11515131 ETH0.0002105110
Sweep105403472020-07-27 7:55:382040 days ago1595836538IN
0x54C044E0...A809fCDa0
0 ETH0.0068382120
Transfer105403282020-07-27 7:49:072040 days ago1595836147IN
0x54C044E0...A809fCDa0
0.1185229 ETH0.0002105110
Sweep105214822020-07-24 9:52:512043 days ago1595584371IN
0x54C044E0...A809fCDa0
0 ETH0.0028486550
Transfer105209492020-07-24 7:47:282043 days ago1595576848IN
0x54C044E0...A809fCDa0
0.12208448 ETH0.0002105110
Sweep105015432020-07-21 7:52:392046 days ago1595317959IN
0x54C044E0...A809fCDa0
0 ETH0.00717859126
Transfer105015252020-07-21 7:49:432046 days ago1595317783IN
0x54C044E0...A809fCDa0
0.11045951 ETH0.0002105110
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-106442462020-08-12 9:18:272024 days ago1597223907
0x54C044E0...A809fCDa0
0.20739384 ETH
-106373892020-08-11 7:56:562025 days ago1597132616
0x54C044E0...A809fCDa0
0.19082938 ETH
-106309382020-08-10 7:49:242026 days ago1597045764
0x54C044E0...A809fCDa0
0.1650214 ETH
-106244832020-08-09 7:57:062027 days ago1596959826
0x54C044E0...A809fCDa0
0.13504576 ETH
-106179522020-08-08 8:00:222028 days ago1596873622
0x54C044E0...A809fCDa0
0.10799835 ETH
-106117742020-08-07 9:04:302029 days ago1596791070
0x54C044E0...A809fCDa0
0.13591794 ETH
-105985402020-08-05 7:55:582031 days ago1596614158
0x54C044E0...A809fCDa0
0.10882433 ETH
-105793212020-08-02 8:32:122034 days ago1596357132
0x54C044E0...A809fCDa0
0.11663657 ETH
-105598122020-07-30 8:03:392037 days ago1596096219
0x54C044E0...A809fCDa0
0.11515132 ETH
-105403472020-07-27 7:55:382040 days ago1595836538
0x54C044E0...A809fCDa0
0.1185229 ETH
-105214822020-07-24 9:52:512043 days ago1595584371
0x54C044E0...A809fCDa0
0.12208448 ETH
-105015432020-07-21 7:52:392046 days ago1595317959
0x54C044E0...A809fCDa0
0.11045952 ETH
-104822572020-07-18 7:53:462049 days ago1595058826
0x54C044E0...A809fCDa0
0.10494814 ETH
-104628552020-07-15 7:51:572052 days ago1594799517
0x54C044E0...A809fCDa0
0.11544153 ETH
-104369652020-07-11 7:51:442056 days ago1594453904
0x54C044E0...A809fCDa0
0.12330747 ETH
-104046372020-07-06 7:49:342061 days ago1594021774
0x54C044E0...A809fCDa0
0.11174992 ETH
-103595102020-06-29 7:49:392068 days ago1593416979
0x54C044E0...A809fCDa0
0.1106873 ETH
-102819732020-06-17 7:50:152080 days ago1592380215
0x54C044E0...A809fCDa0
0.3477604 ETH
-102626322020-06-14 7:48:342083 days ago1592120914
0x54C044E0...A809fCDa0
0.15003242 ETH
-102560612020-06-13 7:46:182084 days ago1592034378
0x54C044E0...A809fCDa0
0.15494115 ETH
-102496082020-06-12 7:54:022085 days ago1591948442
0x54C044E0...A809fCDa0
0.15932287 ETH
-102431442020-06-11 7:46:332086 days ago1591861593
0x54C044E0...A809fCDa0
0.15465047 ETH
-102367362020-06-10 7:57:332087 days ago1591775853
0x54C044E0...A809fCDa0
0.13312358 ETH
-102302562020-06-09 7:49:252088 days ago1591688965
0x54C044E0...A809fCDa0
0.15455177 ETH
-102238412020-06-08 7:47:202089 days ago1591602440
0x54C044E0...A809fCDa0
0.15104813 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.