Since v0.6.0 solidity compiler supports complex input-ouput params of functions using structures.
Now many tools like Truffle can compile and generate and test complex params functions.
This is so-called ABIv2 support.
We need to support that too in thor-devkit.py, and here is the information that developer should know:
Background:
What is tuple type in ABIv2:
https://docs.soliditylang.org/en/v0.5.3/abi-spec.html#handling-tuple-types
Currently we rely on eth-abi library to build the abi.Function module.
How do we fix the:
abi.Function.encode(params_list)
abi.Function.decode(bytes)
Is eth-abi supporting it? Or can we switch to a new library to support us.
Since
v0.6.0solidity compiler supports complex input-ouput params of functions using structures.Now many tools like
Trufflecan compile and generate and test complex params functions.This is so-called ABIv2 support.
We need to support that too in
thor-devkit.py, and here is the information that developer should know:Background:
What is
tupletype in ABIv2:https://docs.soliditylang.org/en/v0.5.3/abi-spec.html#handling-tuple-types
Currently we rely on
eth-abilibrary to build theabi.Functionmodule.How do we fix the:
abi.Function.encode(params_list)abi.Function.decode(bytes)Is
eth-abisupporting it? Or can we switch to a new library to support us.