- 交易对创建:
function createPair(address tokenA, address tokenB) external returns (address pair)- 使用CREATE2创建新的交易对
- 确保代币地址排序(较小地址为token0)
- 初始化交易对合约
- 添加流动性:
function mint(address to) external returns (uint256 liquidity)- 计算提供的代币数量
- 根据当前储备计算LP代币数量
- 更新储备金额
- 代币交换:
function swap(uint256 amount0Out, uint256 amount1Out, address to) external- 验证输出金额
- 执行代币转账
- 确保交易后储备金额满足恒定乘积公式