NEAR 智能合约生锈错误:“无法使用 Borsh 反序列化值”

问题描述

我正在尝试调用视图方法来检索 u128 值的 Vec,结果出现此错误我不知道该怎么做,有人可以帮助我吗?

{
  "block_hash": "76auef76bmvvKT6kVZabiCrrHeTzoBP2vxGZGqaBjDc1","block_height": 54564995,"error": "wasm execution Failed with error: FunctionCallError(HostError(GuestPanic { panic_msg: \"Cannot deserialize value with Borsh\" }))","logs": []
}
    at JsonRpcProvider.query (json-rpc-provider.js:116)
    at async ConnectedWalletAccount.viewFunction (account.js:356)
    at async <anonymous>:1:1
TypedError @ errors.js:18
query @ json-rpc-provider.js:116

感谢您的帮助!

解决方法

我的猜测是,您重新部署了一个合约,其中更改了状态结构的结构(标有 #[near_bindgen] 的结构)。因此,当您调用任何方法时,它都无法将现有状态反序列化为新结构。如果是这种情况,您有几个选择: