合约接口返回值为字符串数组时,返回的值不正确
【问题分类】
- bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
我在使用sdk-go开发的过程中碰到了一些问题,当合约接口返回值为字符串数组时,返回的值不正确,经调试发现似乎是ABI.Unpack解码的时候出错。
合约的接口如下: function selectByKey(string _key) public view returns(string[],address[],string[])
该接口调用后,第一个和第三个字符串数组类型的返回值不正确。 然后我尝试用cmc执行调用,也返回了不正确的结果,请帮忙确认一下当前SDK库是否存在问题,谢谢!
下面附上合约源码和SDK代码。 evidence.sol chainmaker-gosdk.zip
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
【系统信息】(请填写系统信息,方便定位问题)
- **chainmaker-go version : [v2.3.0]
- **OS & version : ubuntu22.04
- **CMC Version: v2.3.0
- **sdk-go version:v2.3.1
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information