6
struct Test {
  uint ui;
  string s;
}
function test(Test t) public {
  emit Log(t.ui, t.s);
}

I have some knowledge about ABI. I made this contract with experimental ABIEncoderV2 option. In conclusion, this function's signature is 0x6056f4cc, I found this value in opcode. I tried some case test(uint256,string), test(tuple(uint256,string)), test(tuple), test(tuple[uint256,string])) with sha3... but no one make correct signature. How solidity make function signature with tuple?

1 Answer 1

5

You're close with the first one. The actual encoding is done from test((uint256,string)).

bytes4(keccak256("test((uint256,string))"): 6056f4cc
Sign up to request clarification or add additional context in comments.

1 Comment

Here's the online encoder if you need one: piyolab.github.io/playground/ethereum/…

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.