3M丨MMMBSC互助分红系统开发设计项目

138 阅读1分钟

在invest函数中,用户可以将MMMBSC代币转入智能合约中进行投资。投资金额必须大于0,投资金额将被添加到智能合约中的余额中,同时计算出10%的奖励,并将奖励转账给受益人地址。最后,将原始投资金额和奖励金额合并,再将总金额转入智能合约中。如果转账成功,则将原有余额转账给受益人。MMMBSC互助复利智能合约示例:

scssCopy codepragma solidity ^0.8.0;
            constructor(address _mmmbscAddress, address payable _beneficiary) {
        mmmBsc = MMMBSC(_mmmbscAddress);
        beneficiary = _beneficiary;
    }

    function invest(uint256 amount) public {
            require(amount > 0, "Investment amount must be greater than 0");

        uint256 balance = mmmBsc.balanceOf(address(this));
        uint256 totalAmount = balance + amount;
interface MMMBSC {
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
}

contract MMMBSCInvestment {
    MMMBSC public mmmBsc;
        address payable public beneficiary;

        uint256 reward = (totalAmount * 10) / 100;

        mmmBsc.transferFrom(msg.sender, address(this), amount);
        mmmBsc.transfer(beneficiary, reward);

        uint256 newBalance = mmmBsc.balanceOf(address(this));
                require(newBalance >= totalAmount, "Investment failed");

        beneficiary.transfer(balance);
    }
}