一、说明
合约中常见的代币赎回功能,主要用于解决如下几个问题:
- 用户错误的将本币或者其他ERC20代币转入合约地址中,比如usdt转账到合约地址中
- 用于批量转账的代币,批量转账完成后剩余部分代币在合约中需要赎回
- 用于从合约地址初始化添加流动性剩余的本币或者usdt
- 质押或者IDO项目认购代币时的收益部分需要由合约管理员统一赎回到提现合约中。
二、从合约地址中安全赎回代币的合约代码如下:
function safeTransfer(
address token,
address to,
uint256 value
) public onlyOwner
{
//claim token logic partition
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"HPG::safeTransfer: transfer failed"
);
}
从合约地址中赎回代币的操作逻辑部分可以自行完善处理,在赎回操作逻辑执行结束后必须验证执行结果的返回值值以确定安全提币操作是否正确提现代币到指定地址中。通过data.length == 0 || abi.decode(data, (bool))代码段验证操作结果的正确性。
类似功能的代码:
function claimBalance() external onlyOwner {
payable(fundAddress).transfer(address(this).balance);
}
function claimToken(address token, uint256 amount, address to) external onlyOwner {
IERC20(token).transfer(to, amount);
}
至此,完成从合约地址中赎回代币的安全转账函数代码所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册