ETH Price: $2,636.99 (+7.70%)
Gas: 2 Gwei

Contract

0x05121B4ad22590129399c7a94980c644A59d4Ad7
 

Overview

ETH Balance

0.001642253354089468 ETH

Eth Value

$4.33 (@ $2,636.99/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep146868232022-04-30 17:13:25831 days ago1651338805IN
0x05121B4a...4A59d4Ad7
0 ETH0.0056686576.30750551
Transfer146864672022-04-30 15:45:30831 days ago1651333530IN
0x05121B4a...4A59d4Ad7
0.00164225 ETH0.0014314668
Sweep146863922022-04-30 15:29:52831 days ago1651332592IN
0x05121B4a...4A59d4Ad7
0 ETH0.0051893991.70970158
Transfer146863712022-04-30 15:24:52831 days ago1651332292IN
0x05121B4a...4A59d4Ad7
0.0679533 ETH0.0015156772
Sweep146862772022-04-30 15:02:28831 days ago1651330948IN
0x05121B4a...4A59d4Ad7
0 ETH0.006184983.24342698
Sweep146862322022-04-30 14:50:57831 days ago1651330257IN
0x05121B4a...4A59d4Ad7
0 ETH0.0042036256.58624472
Sweep146860522022-04-30 14:14:28831 days ago1651328068IN
0x05121B4a...4A59d4Ad7
0 ETH0.00487865.66431322
Transfer145476612022-04-08 22:00:04853 days ago1649455204IN
0x05121B4a...4A59d4Ad7
0.00816607 ETH0.0012841161
Sweep142713562022-02-24 21:51:13896 days ago1645739473IN
0x05121B4a...4A59d4Ad7
0 ETH0.0047031563.31066446
Sweep140644252022-01-23 21:49:07928 days ago1642974547IN
0x05121B4a...4A59d4Ad7
0 ETH0.01104845148.72662136
Sweep140643142022-01-23 21:22:34928 days ago1642972954IN
0x05121B4a...4A59d4Ad7
0 ETH0.01163552156.60407072
Sweep139472402022-01-05 19:07:30946 days ago1641409650IN
0x05121B4a...4A59d4Ad7
0 ETH0.01252063168.54414122
Sweep139396632022-01-04 15:04:41947 days ago1641308681IN
0x05121B4a...4A59d4Ad7
0 ETH0.00769702103.59532931
Sweep137157942021-11-30 16:21:55982 days ago1638289315IN
0x05121B4a...4A59d4Ad7
0 ETH0.0108257191.35810197
Sweep137157752021-11-30 16:17:07982 days ago1638289027IN
0x05121B4a...4A59d4Ad7
0 ETH0.01516892204.16053317
Transfer137157722021-11-30 16:16:32982 days ago1638288992IN
0x05121B4a...4A59d4Ad7
0.06948996 ETH0.00406444193.07616895
Sweep136346382021-11-17 18:43:52995 days ago1637174632IN
0x05121B4a...4A59d4Ad7
0 ETH0.01594849214.72220066
Sweep136166372021-11-14 22:25:53998 days ago1636928753IN
0x05121B4a...4A59d4Ad7
0 ETH0.01123062151.20330711
Sweep135515092021-11-04 17:16:211008 days ago1636046181IN
0x05121B4a...4A59d4Ad7
0 ETH0.00966314130.09951218
Sweep135090832021-10-29 0:56:121015 days ago1635468972IN
0x05121B4a...4A59d4Ad7
0 ETH0.01375205185.12057178
Sweep135008142021-10-27 17:44:261016 days ago1635356666IN
0x05121B4a...4A59d4Ad7
0 ETH0.01744419234.82166792
Sweep134810012021-10-24 15:33:501019 days ago1635089630IN
0x05121B4a...4A59d4Ad7
0 ETH0.0061206782.40562532
Sweep134687272021-10-22 17:26:371021 days ago1634923597IN
0x05121B4a...4A59d4Ad7
0 ETH0.0077795104.70535099
Sweep134686432021-10-22 17:07:111021 days ago1634922431IN
0x05121B4a...4A59d4Ad7
0 ETH0.00833753112.234117
Sweep123755412021-05-05 17:23:371191 days ago1620235417IN
0x05121B4a...4A59d4Ad7
0 ETH0.0050863980.9600017
View all transactions

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
146863922022-04-30 15:29:52831 days ago1651332592
0x05121B4a...4A59d4Ad7
0.07611939 ETH
137157942021-11-30 16:21:55982 days ago1638289315
0x05121B4a...4A59d4Ad7
0.06948997 ETH
122837172021-04-21 13:07:181205 days ago1619010438
0x05121B4a...4A59d4Ad7
0.10970072 ETH
122809172021-04-21 2:45:391206 days ago1618973139
0x05121B4a...4A59d4Ad7
0.23248641 ETH
116100962021-01-07 21:59:381309 days ago1610056778
0x05121B4a...4A59d4Ad7
0.21416853 ETH
115635572020-12-31 18:32:441316 days ago1609439564
0x05121B4a...4A59d4Ad7
0.26412892 ETH
115580932020-12-30 22:19:421317 days ago1609366782
0x05121B4a...4A59d4Ad7
0.20360799 ETH
115577712020-12-30 21:10:091317 days ago1609362609
0x05121B4a...4A59d4Ad7
0.06643989 ETH
99119332020-04-20 22:09:391571 days ago1587420579
0x05121B4a...4A59d4Ad7
1.52100046 ETH
51636652018-02-27 5:36:412355 days ago1519709801  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.