我正在尝试调用一个类似于以下内容的solidity函数:
function fillOrder(
Order memory order,
uint256 takerAssetFillAmount,
bytes memory signature
)
使用web3j我将创建类似于下面的函数,但是我不太确定如何表示在Solidity中以结构表示的顺序。
List<Type> inputParams = Arrays.asList(???, new
Uint256(takerAssetFillAmount), new Bytes32(signture));
new Function("fillOrder", inputParams, Collections.emptyList());
关于如何表示结构的任何指针?
谢谢。
答案 0 :(得分:0)
您可以用方括号括住参数。
例如,假设我有一份合同:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
textview.setCompoundDrawablesWithIntrinsicBounds(null, null, AppCompatResources.getDrawable(this, R.drawable.movie), null);
} else {
textview.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.movie, 0);
}
我可以像这样用contract Test {
struct Foo {
uint a;
string b;
address c;
}
function bar (Foo memory foo) public {
c = foo.c;
}
}
调用bar
函数:
web3.js