我正在尝试使用Aave V3进行闪存贷款。在接口上,有一个名为flashLoanSimple()的函数,如下所示:
function flashLoanSimple(
address receiverAddress,
address asset,
uint256 amount,
bytes calldata params,
uint16 referralCode
) external;控制台返回一个错误:
ValueError: Gas评估失败:“执行失败是由于异常。”此事务可能会恢复。如果你想广播,你必须手动设置气体限制。
我不知道是哪一个问题,因为我把Dai存在合同地址上,然后试着让flashLoan和失败。
下面是完整的代码:
contract Flasher is FlashLoanSimpleReceiverBase, Withdrawable {
constructor(IPoolAddressesProvider _providerAddress)
FlashLoanSimpleReceiverBase(_providerAddress)
{}
function flashLoanSimple(address asset, uint256 amount) external {
require(asset != address(0), "Address zero no");
require(amount > 0, "Pone plata");
address receiverAddress = address(this);
uint256 _amount = amount * 10**18;
bytes memory params = "";
uint16 referralCode = 0;
POOL.flashLoanSimple(
receiverAddress,
asset,
_amount,
params,
referralCode
);
}
function executeOperation(
address asset,
uint256 amount,
uint256 premium,
address initiator,
bytes calldata params
) external override returns (bool) {
//logic.....
//cALCULAR PRIMA
uint256 fee = LowGasSafeMath.add(amount, premium);
IERC20(asset).approve(address(POOL), fee);
return true;
}发布于 2022-03-31 21:04:55
您忘记关闭您在合同中打开的括号“}”。检查是否仅是导致该错误的原因。我也看到你引进了'SafeMath‘而不是'LowGasSafeMath’。
https://stackoverflow.com/questions/71134312
复制相似问题