ETH Price: $3,094.12 (-0.55%)
Gas: 2 Gwei

Contract

0x54ddF0e2Bc4C064db5D230FAB6C293356Ab1AB6D
 

Overview

ETH Balance

0.000000002171185206 ETH

Eth Value

Less Than $0.01 (@ $3,094.12/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Sweep186641852023-11-27 16:30:59226 days ago1701102659IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0029979652.98157639
Transfer186641652023-11-27 16:26:59226 days ago1701102419IN
0x54ddF0e2...56Ab1AB6D
0.5027435 ETH0.0008151138.72072904
Sweep186184202023-11-21 6:41:23232 days ago1700548883IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0020372436.00329211
Transfer186184032023-11-21 6:37:47232 days ago1700548667IN
0x54ddF0e2...56Ab1AB6D
0.11519747 ETH0.0006463530.70410554
Sweep182773502023-10-04 13:07:23280 days ago1696424843IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016975530
Transfer182773292023-10-04 13:03:11280 days ago1696424591IN
0x54ddF0e2...56Ab1AB6D
0.43885997 ETH0.0002256710.72015849
Sweep182726142023-10-03 21:14:11281 days ago1696367651IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016975530
Transfer182726002023-10-03 21:11:23281 days ago1696367483IN
0x54ddF0e2...56Ab1AB6D
0.31247354 ETH0.0003090914.68298849
Sweep182224932023-09-26 21:01:11288 days ago1695762071IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016975530
Transfer182224712023-09-26 20:56:47288 days ago1695761807IN
0x54ddF0e2...56Ab1AB6D
0.1656907 ETH0.0002955514.04012081
Sweep182192272023-09-26 10:02:11288 days ago1695722531IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016975530
Transfer182192062023-09-26 9:57:59288 days ago1695722279IN
0x54ddF0e2...56Ab1AB6D
0.10768069 ETH0.0004866923.1197218
Sweep182056272023-09-24 12:22:35290 days ago1695558155IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016971930
Transfer182056052023-09-24 12:18:11290 days ago1695557891IN
0x54ddF0e2...56Ab1AB6D
0.05835982 ETH0.000149397.09674908
Sweep181979192023-09-23 10:26:59291 days ago1695464819IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016971930
Transfer181979062023-09-23 10:24:11291 days ago1695464651IN
0x54ddF0e2...56Ab1AB6D
0.05187537 ETH0.000159387.57155033
Sweep181936032023-09-22 19:57:35292 days ago1695412655IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016971930
Transfer181935832023-09-22 19:53:35292 days ago1695412415IN
0x54ddF0e2...56Ab1AB6D
0.03678678 ETH0.000165587.86599698
Transfer181905112023-09-22 9:31:35292 days ago1695375095IN
0x54ddF0e2...56Ab1AB6D
0.03531577 ETH0.0002159310.25792708
Sweep181903892023-09-22 9:06:47292 days ago1695373607IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0016975530
Transfer181903692023-09-22 9:02:47292 days ago1695373367IN
0x54ddF0e2...56Ab1AB6D
0.60776394 ETH0.0002227410.58098781
Sweep101555802020-05-28 17:28:401504 days ago1590686920IN
0x54ddF0e2...56Ab1AB6D
0 ETH0.0022382637.5

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
186641852023-11-27 16:30:59226 days ago1701102659
0x54ddF0e2...56Ab1AB6D
0.50274351 ETH
186184202023-11-21 6:41:23232 days ago1700548883
0x54ddF0e2...56Ab1AB6D
0.11519747 ETH
182773502023-10-04 13:07:23280 days ago1696424843
0x54ddF0e2...56Ab1AB6D
0.43885998 ETH
182726142023-10-03 21:14:11281 days ago1696367651
0x54ddF0e2...56Ab1AB6D
0.31247354 ETH
182224932023-09-26 21:01:11288 days ago1695762071
0x54ddF0e2...56Ab1AB6D
0.16569071 ETH
182192272023-09-26 10:02:11288 days ago1695722531
0x54ddF0e2...56Ab1AB6D
0.10768069 ETH
182056272023-09-24 12:22:35290 days ago1695558155
0x54ddF0e2...56Ab1AB6D
0.05835983 ETH
181979192023-09-23 10:26:59291 days ago1695464819
0x54ddF0e2...56Ab1AB6D
0.05187538 ETH
181936032023-09-22 19:57:35292 days ago1695412655
0x54ddF0e2...56Ab1AB6D
0.07210256 ETH
181903892023-09-22 9:06:47292 days ago1695373607
0x54ddF0e2...56Ab1AB6D
0.60776394 ETH
52260532018-03-09 19:29:342315 days ago1520623774  Contract Creation0 ETH
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.