微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法在 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 举报,一经查实,本站将立刻删除。