ETH Price: $1,973.83 (-1.98%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All202013662024-06-30 1:57:35612 days ago1719712655IN
0x77a0aeE9...8B9E422a9
0 ETH0.000078091.5
Transfer155463042022-09-16 12:53:591264 days ago1663332839IN
0x77a0aeE9...8B9E422a9
0.02286866 ETH0.000183638.72802094
Sweep All138230232021-12-17 14:00:211537 days ago1639749621IN
0x77a0aeE9...8B9E422a9
0 ETH0.0030173857.95867432
Transfer138063172021-12-14 23:44:151540 days ago1639525455IN
0x77a0aeE9...8B9E422a9
0.20497978 ETH0.0012770460.6960101
Transfer136345262021-11-17 18:17:071567 days ago1637173027IN
0x77a0aeE9...8B9E422a9
0.19715764 ETH0.00311671148.13291063
Transfer135428652021-11-03 8:36:561581 days ago1635928616IN
0x77a0aeE9...8B9E422a9
0.19721451 ETH0.00306931145.88009764
Transfer134673722021-10-22 12:20:011593 days ago1634905201IN
0x77a0aeE9...8B9E422a9
0.19871065 ETH0.0010720350.95214621
Transfer134205152021-10-15 4:28:141600 days ago1634272094IN
0x77a0aeE9...8B9E422a9
0.19788183 ETH0.0020753598.63876081
Sweep All133926122021-10-10 18:49:301605 days ago1633891770IN
0x77a0aeE9...8B9E422a9
0 ETH0.0038102673.18848417
Transfer133827732021-10-09 5:43:121606 days ago1633758192IN
0x77a0aeE9...8B9E422a9
0.19833332 ETH0.0016842280.04872893
Transfer133586932021-10-05 11:01:521610 days ago1633431712IN
0x77a0aeE9...8B9E422a9
0.20053357 ETH0.0012568959.73823443
Transfer133343722021-10-01 15:45:401614 days ago1633103140IN
0x77a0aeE9...8B9E422a9
0.20041891 ETH0.0012828460.97171294
Transfer133058392021-09-27 4:55:241618 days ago1632718524IN
0x77a0aeE9...8B9E422a9
0.20214034 ETH0.0011195253.20937139
Transfer132777872021-09-22 20:42:451623 days ago1632343365IN
0x77a0aeE9...8B9E422a9
0.20021697 ETH0.0011428954.32008186
Transfer132350482021-09-16 6:09:051629 days ago1631772545IN
0x77a0aeE9...8B9E422a9
0.19874265 ETH0.0013411663.74362835
Sweep All131901112021-09-09 7:06:091636 days ago1631171169IN
0x77a0aeE9...8B9E422a9
0 ETH0.0047825491.86427256
Transfer131616582021-09-04 21:25:271641 days ago1630790727IN
0x77a0aeE9...8B9E422a9
0.22266837 ETH0.0019845194.32099789
Transfer131053672021-08-27 4:29:311649 days ago1630038571IN
0x77a0aeE9...8B9E422a9
0.2003264 ETH0.0012399558.9332
Transfer130721082021-08-22 1:21:231655 days ago1629595283IN
0x77a0aeE9...8B9E422a9
0.20050908 ETH0.0005108424.27950729
Transfer130467212021-08-18 3:05:571658 days ago1629255957IN
0x77a0aeE9...8B9E422a9
0.20023239 ETH0.000802838.15621631
Transfer130287582021-08-15 8:51:271661 days ago1629017487IN
0x77a0aeE9...8B9E422a9
0.20000436 ETH0.0007824137.18706998
Transfer130044762021-08-11 14:37:401665 days ago1628692660IN
0x77a0aeE9...8B9E422a9
0.20076815 ETH0.0012469459.26526003
Transfer129774502021-08-07 10:47:271669 days ago1628333247IN
0x77a0aeE9...8B9E422a9
0.20030091 ETH0.0008414639.99378738
Sweep All129536932021-08-03 17:42:431673 days ago1628012563IN
0x77a0aeE9...8B9E422a9
0 ETH0.0027201152.24866338
Transfer129536572021-08-03 17:33:541673 days ago1628012034IN
0x77a0aeE9...8B9E422a9
0.20250409 ETH0.000422920.1
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer202013662024-06-30 1:57:35612 days ago1719712655
0x77a0aeE9...8B9E422a9
0.02286866 ETH
-138230232021-12-17 14:00:211537 days ago1639749621
0x77a0aeE9...8B9E422a9
0.99594443 ETH
-133926122021-10-10 18:49:301605 days ago1633891770
0x77a0aeE9...8B9E422a9
1.20038579 ETH
-131901112021-09-09 7:06:091636 days ago1631171169
0x77a0aeE9...8B9E422a9
1.42480969 ETH
-129536932021-08-03 17:42:431673 days ago1628012563
0x77a0aeE9...8B9E422a9
2.0113948 ETH
-126233292021-06-13 2:00:141725 days ago1623549614
0x77a0aeE9...8B9E422a9
1.00476342 ETH
-122134942021-04-10 17:22:421788 days ago1618075362
0x77a0aeE9...8B9E422a9
0.53110432 ETH
-119883342021-03-07 1:10:281823 days ago1615079428
0x77a0aeE9...8B9E422a9
0.74686826 ETH
-117851252021-02-03 19:17:321854 days ago1612379852
0x77a0aeE9...8B9E422a9
0.82645096 ETH
-116309142021-01-11 2:30:111878 days ago1610332211
0x77a0aeE9...8B9E422a9
0.64371097 ETH
-102590242020-06-13 18:42:022089 days ago1592073722  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 0xF2f313A4...Fd1BF0dA9
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.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-27
*/

pragma solidity ^0.4.24;

contract AbstractSweeper {
    function sweepAll(address token) public returns (bool);

    function() public { revert(); }

    Controller controller;

    constructor(address _controller) public {
        controller = Controller(_controller);
    }

    modifier canSweep() {
        if(msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()){ revert(); }
        if(controller.halted()){ revert(); }
        _;
    }
}

contract Token {
    function balanceOf(address a) public pure returns (uint) {
        (a);
        return 0;
    }

    function transfer(address a, uint val) public pure returns (bool) {
        (a);
        (val);
        return false;
    }
}

contract DefaultSweeper is AbstractSweeper {
    constructor(address controller) AbstractSweeper(controller) public { }

    function sweepAll(address _token) public canSweep returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if(_token != address(0)){
            Token token = Token(_token);
            success = token.transfer(destination, token.balanceOf(this));
        }else{
            success = destination.send(address(this).balance);
        }
        return success;
    }
}

contract UserWallet {
    AbstractSweeperList sweeperList;
    constructor(address _sweeperlist) public {
        sweeperList = AbstractSweeperList(_sweeperlist);
    }

    function() public payable { }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        (_from);
        (_value);
        (_data);
    }

    function sweepAll(address _token) public returns (bool) {
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

contract AbstractSweeperList {
    function sweeperOf(address _token) public returns (address);
}

contract Controller is AbstractSweeperList {
    address public owner;
    address public authorizedCaller;

    address public destination;

    bool public halted;

    event NewWalletCreated(address receiver);

    modifier onlyOwner() {
        if(msg.sender != owner){ revert(); }
        _;
    }

    modifier onlyAuthorizedCaller() {
        if(msg.sender != authorizedCaller){ revert(); }
        _;
    }

    modifier onlyAdmins() {
        if(msg.sender != authorizedCaller && msg.sender != owner){ revert(); } 
        _;
    }

    constructor() public {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function setAuthorizedCaller(address _newCaller) public onlyOwner {
        authorizedCaller = _newCaller;
    }

    function setDestination(address _dest) public onlyOwner {
        destination = _dest;
    }

    function setOwner(address _owner) public onlyOwner {
        owner = _owner;
    }

    function newWallet() public onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        emit NewWalletCreated(wallet);
    }

    function halt() public onlyAdmins {
        halted = true;
    }

    function start() public onlyOwner {
        halted = false;
    }

    address public defaultSweeper = address(new DefaultSweeper(this));
    mapping (address => address) sweepers;

    function addSweeper(address _token, address _sweeper) public onlyOwner {
        sweepers[_token] = _sweeper;
    }

    function sweeperOf(address _token) public returns (address) {
        address sweeper = sweepers[_token];
        if(sweeper == 0){ sweeper = defaultSweeper; }
        return sweeper;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"sweepAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_sweeperlist","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

0x608060405234801561001057600080fd5b5060405160208061026e833981016040525160008054600160a060020a03909216600160a060020a031990921691909117905561021c806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba100290000000000000000000000007142eb34d2220152dedc5868745079bc6ffa0fdd

Deployed Bytecode

0x60806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba10029

Deployed Bytecode Sourcemap

1322:501:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;1539:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1539:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1539:139:0;;-1:-1:-1;1539:139:0;;-1:-1:-1;;;;;;;1539:139:0;1686:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1686:134:0;;;;;;;;;;;;;;;;;;;;;;;;;1539:139;;;;:::o;1686:134::-;1736:4;1760:11;;:29;;;;;;:11;:29;;;;;;;;;:11;;;;;:21;;:29;;;;;;;;;;;;;;1736:4;1760:11;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;1760:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1760:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1760:29:0;:52;;:42;;;;;1803:8;;;;1760:52;1803:8;;;;1760:52;;;;;;;;;;;;;;;;;;;;;;1686:134;-1:-1:-1;;;;1686:134:0:o

Swarm Source

bzzr://ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba1

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.