You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向AsyncEventFilterBuilder传入AsyncWeb3实例触发参数错误

AsyncWeb3传入AsyncEventFilterBuilder.deploy时触发ValueError的解决方案

问题现象

向异步事件构建器传入AsyncWeb3实例后,执行代码AsyncEventFilterBuilder.deploy(AsyncWeb3)会触发以下错误:

ValueError: Invalid web3 argument: got: <web3.main.AsyncWeb3 object at ...`

问题根源

错误源于_utils.events:L450处的校验逻辑:

if not isinstance(async_w3, web3.Web3):

这段代码仅检查传入实例是否为同步的web3.Web3类型,完全忽略了异步的web3.AsyncWeb3,但如果传入同步Web3实例,后续会引发协程相关问题,说明原校验逻辑完全倒置。

修复方案

将该校验代码修改为:

if isinstance(async_w3, web3.Web3):

修改后会拒绝同步Web3实例,允许合法的AsyncWeb3实例通过校验,实现预期行为。

内容的提问来源于stack exchange,提问作者adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 06:44:57