12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // SPDX-License-Identifier: MIT
- pragma solidity 0.8.28;
- /**
- * @title IPancakeFactory
- * @dev PancakeSwap V2 Factory接口,负责创建和管理交易对
- */
- interface IPancakeFactory {
- /**
- * @dev 交易对创建事件
- * @param token0 第一个代币地址
- * @param token1 第二个代币地址
- * @param pair 新创建的交易对地址
- * @param 交易对总数
- */
- event PairCreated(address indexed token0, address indexed token1, address pair, uint);
- /**
- * @dev 获取手续费接收地址
- * @return 手续费接收地址
- */
- function feeTo() external view returns (address);
-
- /**
- * @dev 获取手续费设置者地址
- * @return 手续费设置者地址
- */
- function feeToSetter() external view returns (address);
- /**
- * @dev 获取两个代币的交易对地址
- * @param tokenA 第一个代币地址
- * @param tokenB 第二个代币地址
- * @return pair 交易对地址,如果不存在则返回零地址
- */
- function getPair(address tokenA, address tokenB) external view returns (address pair);
-
- /**
- * @dev 根据索引获取交易对地址
- * @param 交易对索引
- * @return pair 交易对地址
- */
- function allPairs(uint) external view returns (address pair);
-
- /**
- * @dev 获取交易对总数
- * @return 交易对总数
- */
- function allPairsLength() external view returns (uint);
- /**
- * @dev 创建两个代币的交易对
- * @param tokenA 第一个代币地址
- * @param tokenB 第二个代币地址
- * @return pair 新创建的交易对地址
- */
- function createPair(address tokenA, address tokenB) external returns (address pair);
- /**
- * @dev 设置手续费接收地址(仅限feeToSetter调用)
- * @param _feeTo 新的手续费接收地址
- */
- function setFeeTo(address _feeTo) external;
-
- /**
- * @dev 设置手续费设置者地址(仅限feeToSetter调用)
- * @param _feeToSetter 新的手续费设置者地址
- */
- function setFeeToSetter(address _feeToSetter) external;
- }
|