ETH Price: $2,003.43 (+1.64%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All202008452024-06-30 0:12:35611 days ago1719706355IN
0x45cB75D3...dceaC0A41
0 ETH0.000078091.5
Transfer155454742022-09-16 10:05:471263 days ago1663322747IN
0x45cB75D3...dceaC0A41
0.07984582 ETH0.000133176.32972327
Sweep All154698082022-09-04 5:23:491275 days ago1662269029IN
0x45cB75D3...dceaC0A41
0 ETH0.000179733.45234234
Transfer154295092022-08-28 18:54:041282 days ago1661712844IN
0x45cB75D3...dceaC0A41
0.10355897 ETH0.000204979.74198783
Transfer152626082022-08-02 10:41:181308 days ago1659436878IN
0x45cB75D3...dceaC0A41
0.09986273 ETH0.000128316.09869847
Transfer149728402022-06-16 10:36:551355 days ago1655375815IN
0x45cB75D3...dceaC0A41
0.10053463 ETH0.0004682822.25712199
Transfer148154722022-05-21 5:27:591381 days ago1653110879IN
0x45cB75D3...dceaC0A41
0.10299835 ETH0.0002409711.45299985
Transfer146689142022-04-27 21:33:361405 days ago1651095216IN
0x45cB75D3...dceaC0A41
0.10067598 ETH0.0007398535.16409026
Sweep All145737102022-04-12 23:15:491420 days ago1649805349IN
0x45cB75D3...dceaC0A41
0 ETH0.0012558724.12312312
Transfer145249432022-04-05 8:55:541427 days ago1649148954IN
0x45cB75D3...dceaC0A41
0.10449224 ETH0.0010687750.79726647
Transfer143837622022-03-14 8:59:471449 days ago1647248387IN
0x45cB75D3...dceaC0A41
0.10301211 ETH0.0004249820.19910141
Transfer142483892022-02-21 8:41:351470 days ago1645432895IN
0x45cB75D3...dceaC0A41
0.10382559 ETH0.0007634536.28574977
Transfer141189702022-02-01 8:03:571490 days ago1643702637IN
0x45cB75D3...dceaC0A41
0.10055641 ETH0.0020217996.09269639
Transfer139835142022-01-11 9:55:451511 days ago1641894945IN
0x45cB75D3...dceaC0A41
0.10283032 ETH0.0031424149.35397026
Transfer138537512021-12-22 7:55:251531 days ago1640159725IN
0x45cB75D3...dceaC0A41
0.10514688 ETH0.0010103948.02253492
Transfer137262092021-12-02 8:07:111551 days ago1638432431IN
0x45cB75D3...dceaC0A41
0.10541287 ETH0.0015363273.01933511
Transfer136127202021-11-14 7:54:151569 days ago1636876455IN
0x45cB75D3...dceaC0A41
0.10554241 ETH0.00239682113.91752101
Transfer135097902021-10-29 3:39:441586 days ago1635478784IN
0x45cB75D3...dceaC0A41
0.1062064 ETH0.00244972116.43182792
Transfer134025512021-10-12 8:21:461602 days ago1634026906IN
0x45cB75D3...dceaC0A41
0.10153137 ETH0.0016462678.24474033
Transfer133073202021-09-27 10:43:071617 days ago1632739387IN
0x45cB75D3...dceaC0A41
0.10003904 ETH0.001007147.866168
Sweep All132120482021-09-12 16:34:261632 days ago1631464466IN
0x45cB75D3...dceaC0A41
0 ETH0.0033658864.65265846
Transfer132098172021-09-12 8:15:481632 days ago1631434548IN
0x45cB75D3...dceaC0A41
0.10411155 ETH0.0009699646.10119971
Transfer131194342021-08-29 8:55:301646 days ago1630227330IN
0x45cB75D3...dceaC0A41
0.10249335 ETH0.0008311239.50217812
Transfer130350152021-08-16 7:48:081659 days ago1629100088IN
0x45cB75D3...dceaC0A41
0.10532612 ETH0.0007069233.59891062
Transfer129575342021-08-04 8:16:131671 days ago1628064973IN
0x45cB75D3...dceaC0A41
0.10224775 ETH0.00010525
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer202008452024-06-30 0:12:35611 days ago1719706355
0x45cB75D3...dceaC0A41
0.07984582 ETH
Transfer154698082022-09-04 5:23:491275 days ago1662269029
0x45cB75D3...dceaC0A41
0.50763067 ETH
-145737102022-04-12 23:15:491420 days ago1649805349
0x45cB75D3...dceaC0A41
1.13859569 ETH
-132120482021-09-12 16:34:261632 days ago1631464466
0x45cB75D3...dceaC0A41
1.28483439 ETH
-122589342021-04-17 17:27:121780 days ago1618680432
0x45cB75D3...dceaC0A41
0.54341925 ETH
-119939892021-03-07 22:11:381821 days ago1615155098
0x45cB75D3...dceaC0A41
0.79398956 ETH
-117879002021-02-04 5:37:181852 days ago1612417038
0x45cB75D3...dceaC0A41
0.70726461 ETH
-115915972021-01-05 1:34:471883 days ago1609810487
0x45cB75D3...dceaC0A41
0.85457108 ETH
-109652112020-09-30 17:59:071979 days ago1601488747
0x45cB75D3...dceaC0A41
0.99335148 ETH
-107046282020-08-21 16:19:272019 days ago1598026767
0x45cB75D3...dceaC0A41
1.05342937 ETH
-95997862020-03-03 18:22:022190 days ago1583259722  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.