将 uniswap v3 子图部署到本地图形节点错误:索引句柄增加流动性令牌#get:小数,消息:"Value is not a BigInt"



嗨,我正在尝试将此子图部署到与goerli网络上的本地以太坊节点相连的本地图节点。

操作系统是xubuntu v21.10

<<p>

节点/strong> 超级账本是否为v22.1.2。graph-node版本为0.26.0,使用docker-compose运行。

在子图中。我已经删除了这个

贪污:

base: 
block: 

因为我没有在本地部署这个子图,所以我将网络更改为goerli,并将开始块更改为'7011478'。对于部署,我使用这些命令:

纱codegen

纱创建本地

纱deploy-local

部署后,在一些块被索引后,我得到这个错误:

error处理程序因执行失败而跳过,错误:映射在~lib/@graphprotocol/graph-ts/index处中止。ts,第811行,第4列值不是BigInt. wasm backtrace: 0: 0x25f8 - !src/types/schema/Token#get:decimals1: 0x2611 - !~lib/@graphprotocol/graph-ts/index/BigDecimal#constructor2: 0x29e3 - !src/mappings/经纪/handleDecreaseLiquidity, block_hash: 0x41ea414f5ef6ef940b2b0557d0f403f8b2c1c32c22616dd4d45e0cf3a81dc8d0, block_number: 7011552, sgd: 1, subgraph_id:QmNwsfk3kJi8zzmBDVEiCGqioRnpyZM1iSTPPVYVNyDsop,组件:SubgraphInstanceManager

此子图使用哪个版本的graph-node部署?

有人知道这可能是什么吗?

这是处理程序中的一个问题。检查handleDecreaseLiquidity中的代码。似乎你有一个字段在你的模式中定义为BigInt,但你在你的处理程序中为该字段分配了一个BigDecimal。

如果你发布你的模式和处理程序代码,它将有可能进一步调试。

最新更新