treasuryfwder

Description:

Smart contract deployed on Ethereum.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IERC20 {
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

contract treasuryfwder {
    address payable public immutable treasury;

    event Forwarded(address indexed from, uint256 amount);
    event TokenForwarded(address indexed from, address indexed token, uint256 amount);

    constructor(address payable _treasury) {
        require(_treasury != address(0), "Invalid treasury");
        treasury = _treasury;
    }

    // receive ETH and forward to treasury
    receive() external payable {
        (bool ok, ) = treasury.call{value: msg.value}("");
        require(ok, "Forward failed");
        emit Forwarded(msg.sender, msg.value);
    }

    // fallback in case someone uses sendTransaction directly
    fallback() external payable {
        (bool ok, ) = treasury.call{value: msg.value}("");
        require(ok, "Forward failed");
        emit Forwarded(msg.sender, msg.value);
    }

    // Optional: let users send ERC20 tokens
    function depositToken(address token, uint256 amount) external {
        require(amount > 0, "Invalid amount");
        require(token != address(0), "Invalid token");
        bool ok = IERC20(token).transferFrom(msg.sender, treasury, amount);
        require(ok, "Token transfer failed");
        emit TokenForwarded(msg.sender, token, amount);
    }
}

Tags:
addr:0x710e42a1cb591be4460f7554ac24f467fffdf52e|verified:true|block:23574372|tx:0x4f87a67ea99738fb3b79ee1c665df9610b843e881fb1b4b4e51b68df4b2b52d6|first_check:1760434917

Submitted on: 2025-10-14 11:41:57

Comments

Log in to comment.

No comments yet.