ETH Price: $2,128.11 (+6.03%)

Contract

0x876C8dB498CB8e5E79E1C8AbDe33fFdE765A247E
 

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 All183747872023-10-18 4:13:59869 days ago1697602439IN
0x876C8dB4...E765A247E
0 ETH0.000294385.65464556
Transfer155455102022-09-16 10:13:111265 days ago1663323191IN
0x876C8dB4...E765A247E
0.05423733 ETH0.000134846.40877699
Transfer155169502022-09-11 20:59:521270 days ago1662929992IN
0x876C8dB4...E765A247E
0.09992535 ETH0.000175878.35887694
Transfer154748612022-09-05 0:47:311277 days ago1662338851IN
0x876C8dB4...E765A247E
0.09991571 ETH0.000114415.43808262
Sweep All154698082022-09-04 5:23:491278 days ago1662269029IN
0x876C8dB4...E765A247E
0 ETH0.000179733.45234234
Transfer154333722022-08-29 9:36:291283 days ago1661765789IN
0x876C8dB4...E765A247E
0.09996583 ETH0.000160057.6070235
Transfer153926652022-08-22 21:33:021290 days ago1661203982IN
0x876C8dB4...E765A247E
0.10049907 ETH0.000203429.66833237
Transfer153510352022-08-16 7:31:091296 days ago1660635069IN
0x876C8dB4...E765A247E
0.09997514 ETH0.000169338.04812466
Transfer152983142022-08-08 0:06:451305 days ago1659917205IN
0x876C8dB4...E765A247E
0.09977658 ETH0.0002338811.11629163
Transfer152553362022-08-01 7:44:291311 days ago1659339869IN
0x876C8dB4...E765A247E
0.09979982 ETH0.000203449.66943579
Sweep All152473952022-07-31 1:48:161313 days ago1659232096IN
0x876C8dB4...E765A247E
0 ETH0.000168383.23434234
Transfer152039472022-07-24 7:20:301320 days ago1658647230IN
0x876C8dB4...E765A247E
0.10000026 ETH0.000131236.23738231
Transfer149303602022-06-09 3:12:421365 days ago1654744362IN
0x876C8dB4...E765A247E
0.09903499 ETH0.0013847465.81487464
Transfer148330932022-05-24 2:05:141381 days ago1653357914IN
0x876C8dB4...E765A247E
0.09943821 ETH0.0005251424.95934255
Transfer147580732022-05-12 0:39:491393 days ago1652315989IN
0x876C8dB4...E765A247E
0.10019971 ETH0.0016823479.95938892
Transfer147001842022-05-02 19:39:501402 days ago1651520390IN
0x876C8dB4...E765A247E
0.09844389 ETH0.00232968110.72662697
Transfer146506462022-04-25 0:28:561410 days ago1650846536IN
0x876C8dB4...E765A247E
0.09922629 ETH0.0008619440.96705978
Transfer146035312022-04-17 15:13:321417 days ago1650208412IN
0x876C8dB4...E765A247E
0.09947566 ETH0.0006775232.20156573
Sweep All145691892022-04-12 6:43:441423 days ago1649745824IN
0x876C8dB4...E765A247E
0 ETH0.0014635528.11234
Transfer145511272022-04-09 11:02:581425 days ago1649502178IN
0x876C8dB4...E765A247E
0.09944233 ETH0.0006111929.04914397
Transfer145017282022-04-01 17:32:041433 days ago1648834324IN
0x876C8dB4...E765A247E
0.09838663 ETH0.0018257786.77652044
Transfer144557872022-03-25 13:44:361440 days ago1648215876IN
0x876C8dB4...E765A247E
0.09936076 ETH0.0006941732.99306447
Transfer144102012022-03-18 11:43:531447 days ago1647603833IN
0x876C8dB4...E765A247E
0.09910141 ETH0.0008441640.12182428
Transfer143635272022-03-11 4:50:411455 days ago1646974241IN
0x876C8dB4...E765A247E
0.09950713 ETH0.000710133.75032974
Transfer143164932022-03-03 21:36:561462 days ago1646343416IN
0x876C8dB4...E765A247E
0.09931906 ETH0.0008174538.85261663
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer183747872023-10-18 4:13:59869 days ago1697602439
0x876C8dB4...E765A247E
0.2540784 ETH
Transfer154698082022-09-04 5:23:491278 days ago1662269029
0x876C8dB4...E765A247E
0.50001647 ETH
Transfer152473952022-07-31 1:48:161313 days ago1659232096
0x876C8dB4...E765A247E
0.69581905 ETH
-145691892022-04-12 6:43:441423 days ago1649745824
0x876C8dB4...E765A247E
1.19109386 ETH
-139924422022-01-12 18:48:001512 days ago1642013280
0x876C8dB4...E765A247E
1.09030724 ETH
-135827552021-11-09 14:46:001576 days ago1636469160
0x876C8dB4...E765A247E
1.1060101 ETH
-130787432021-08-23 1:49:471655 days ago1629683387
0x876C8dB4...E765A247E
1.71251921 ETH
-125668872021-06-04 8:32:211734 days ago1622795541
0x876C8dB4...E765A247E
1.50226495 ETH
-122020062021-04-08 22:57:021791 days ago1617922622
0x876C8dB4...E765A247E
0.60059742 ETH
-120841222021-03-21 19:43:351809 days ago1616355815
0x876C8dB4...E765A247E
1.10085578 ETH
-119276972021-02-25 17:35:011833 days ago1614274501
0x876C8dB4...E765A247E
0.86612691 ETH
-118179942021-02-08 20:41:581850 days ago1612816918
0x876C8dB4...E765A247E
0.86987577 ETH
-116820392021-01-18 22:52:421871 days ago1611010362
0x876C8dB4...E765A247E
0.68292523 ETH
-115897202021-01-04 18:48:061885 days ago1609786086
0x876C8dB4...E765A247E
1.26696955 ETH
-114396602020-12-12 18:08:531908 days ago1607796533
0x876C8dB4...E765A247E
0.97683647 ETH
-109597292020-09-29 21:16:531982 days ago1601414213  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.