一、说明
ERC314(BSC314,ARB314,BASE314)协议中为了被动提升代币的价格,增加了燃烧底池的功能。通过设置底池燃烧的比率,冷却时间来单边燃烧底池中的本币,从而实现相对WETH(ETH, BNB)的价格比例升高,从而实现被动提升代币价格的功能。
资金池的单边燃烧同时要配合正确的价格计算方式。才能在代币买卖过程中正确兑换出获取的代币或者WETH数量。其实,ERC314协议计算代币价格的原理和常规的DEX(uniswap,pancakeswap,sushiswap)是类似的,都是通过恒定常量计算公式a * b = k计算得到,即任意时刻两种代币折合成usdt的价值永远是等值的。
二、ERC314, BSC314协议核心代码实现
1.通过如下方式实现标准转账,类似于ERC20协议标准中的super._transfer
function _transfer(address from, address to, uint256 value) internal virtual {
if (to != address(0)) {
require(lastTransaction[msg.sender] != block.number, "You can't make two transactions in the same block");
lastTransaction[ms