无法在 BSC 测试网上调用函数 Aggregate - Multicall2.sol

问题描述

我已经在 BSC 测试网上部署了 multicall2.sol 智能合约 https://testnet.bscscan.com/address/0x8F3273Fb89B075b1645095ABaC6ed17B2d4Bc576#code 然后使用以下打字稿代码调用合约:

  try {
    const multi = getMulticallContract(options.web3 || web3NoAccount)
    const itf = new Interface(abi)

    const calldata = calls.map((call) => [call.address.toLowerCase(),itf.encodefunctionData(call.name,call.params)])
    const { returnData } = await multi.methods.aggregate(calldata).call(undefined,options.blockNumber)
    const res = returnData.map((call,i) => itf.decodefunctionResult(calls[i].name,call))

    return res
  } catch (error) {
    throw new Error(error)
  }
}

我收到错误

未捕获(承诺)错误错误:返回错误:执行恢复:多调用聚合:调用失败

这很奇怪。因为该功能在主网上正常运行。有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)