显然,在PancakeSwap上获得一笔闪存贷款是可能的,因为它是Uniswap的一个分支。但是,我没有在PancakeSwap上找到任何闪存贷款的例子,也没有任何文档提到它。
从PancakeSwap获得闪存贷款的合同最简单的例子是什么?
闪存贷款将:
发布于 2021-07-29 01:39:35
PancakeSwap是Uniswap V2的一个分支,它允许闪存交换。使用Uniswap V2的闪存交换示例可以在这里找到:https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/examples/ExampleFlashSwap.sol
它是通过调用您希望获得贷款的Uniswap V2对的交换函数来调用的,它将在您的合同中调用一个回调函数。它起源于UniswapV2Pair.sol合同中的这一行(来源:https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol):
if (data.length > 0) IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);在煎饼中,一切都是一样的,只是回调的名称变成了pancakeCall (而不是uniswapV2Call)
if (data.length > 0) IPancakeCallee(to).pancakeCall(msg.sender, amount0Out, amount1Out, data);只需更改FlashLoan接收方法中的函数签名,如下所示:
function uniswapV2Call(address sender, uint amount0, uint amount1, bytes calldata data) external override { ... }到这个
function pancakeCall(address sender, uint amount0, uint amount1, bytes calldata data) external override { ... }编辑:链接到pancakeswap池合同这里:https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/PancakePair.sol
您将需要指定您希望从
https://ethereum.stackexchange.com/questions/103865
复制相似问题