小编Der*_*awi的帖子

Solidity:将字节数据解码为两个结构

我有一个仅接受字节数据的函数调用(dydx _getCallActions)

_getCallAction(bytes memory data)
Run Code Online (Sandbox Code Playgroud)

在合约执行期间,数据被传递到名为“callFunction”的用户定义函数

当解码为单个结构时,它可以工作,但是我想将数据解码为两个单独的结构。

function callFunction(bytes calldata _data){
// This works, when passed in encoded data matching Struct1Type
Struct1Type memory data1 = abi.decode(_data, (Struct1Type));
}


function callFunction(bytes calldata _data){
// Doesnt work
Struct1Type memory data1, Struct2Type memory data2 = abi.decode(_data, (Struct1Type,Struct2Type));
}
Run Code Online (Sandbox Code Playgroud)

我可以将数据解码为单个结构,然后有选择地将其转换为两个所需的结构,但这似乎气体效率低下

decode ethereum solidity

3
推荐指数
1
解决办法
5438
查看次数

标签 统计

decode ×1

ethereum ×1

solidity ×1