Skip to main content
PulseScanner.io

Address

0x2e04010bb7155aad38725fa11bb696a7acaa87b6
Current Holdings
$0.00
TXs sent
not counted
First Active
2025-10-21
block 24,816,121
Last Active
333 days ago
block 24,816,903
Funded By
not identified

Net worth historyi

2 snapshots · to block 27,480,473coverage change 26 Augcoverage change 27 Augcoverage change 27 Augcoverage change 27 Augcoverage change 27 Aug
exact matchSWEEPERsolc 0.8.28+commit.7893614aruntime exact · creation exact
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

interface ITT {
    function Claim(address Contract, uint256 Amount) external;
    function mint(uint256 amount) external;
    function Debenture() external returns (bool);
    function Parent() external returns (ERC20);
}

contract SWEEPER {
    address public owner;

    // Updated tokens
    address constant PARENT = 0x51160F352ED148C89d48dfe6384Edd07aFA24E0E;   // DFM ㉾
    address constant CHILD  = 0xE37ACc54711562510FaFC45d8199Ee329ebBceDd;   // Parade
    address constant BAR    = 0x2F1a18BEd5FA33E39e264741C4eb95E1BEA96663;   // SPAM ㉾

    constructor() {
        owner = msg.sender;
    }

    function sweep(uint256 amount) external {
        require(msg.sender == owner, "Not owner");

        // Transfer Parent from sender to contract
        ERC20(PARENT).transferFrom(msg.sender, address(this), amount);
        if (ERC20(PARENT).allowance(address(this), CHILD) < amount) {
            ERC20(PARENT).approve(CHILD, type(uint256).max);
        }

        // Mint Child tokens
        ITT(CHILD).mint(amount);

        // Transfer Bar from sender to contract
        ERC20(BAR).transferFrom(msg.sender, address(this), amount);
        if (ERC20(BAR).allowance(address(this), CHILD) < amount) {
            ERC20(BAR).approve(CHILD, type(uint256).max);
        }

        // Claim using Bar
        ITT(CHILD).Claim(BAR, amount);

        // Return Parent and Child tokens to sender
        ERC20(PARENT).transfer(msg.sender, amount);
        ERC20(CHILD).transfer(msg.sender, amount);
    }

    function withdraw(address token) external {
        require(msg.sender == owner, "Not owner");
        ERC20(token).transfer(msg.sender, ERC20(token).balanceOf(address(this)));
    }
}