2020-11-23 18:06:44 +00:00
|
|
|
pragma abicoder v2;
|
2019-07-02 15:30:54 +00:00
|
|
|
contract C {
|
|
|
|
struct S { uint a; T[] sub; bytes b; }
|
|
|
|
struct T { uint[2] x; }
|
|
|
|
event E(T t, S s);
|
|
|
|
}
|
|
|
|
// ----
|
|
|
|
// :C
|
|
|
|
// [
|
|
|
|
// {
|
|
|
|
// "anonymous": false,
|
|
|
|
// "inputs":
|
|
|
|
// [
|
|
|
|
// {
|
|
|
|
// "components":
|
|
|
|
// [
|
|
|
|
// {
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "uint256[2]",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "x",
|
|
|
|
// "type": "uint256[2]"
|
|
|
|
// }
|
|
|
|
// ],
|
|
|
|
// "indexed": false,
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "struct C.T",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "t",
|
|
|
|
// "type": "tuple"
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// "components":
|
|
|
|
// [
|
|
|
|
// {
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "uint256",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "a",
|
|
|
|
// "type": "uint256"
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// "components":
|
|
|
|
// [
|
|
|
|
// {
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "uint256[2]",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "x",
|
|
|
|
// "type": "uint256[2]"
|
|
|
|
// }
|
|
|
|
// ],
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "struct C.T[]",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "sub",
|
|
|
|
// "type": "tuple[]"
|
|
|
|
// },
|
|
|
|
// {
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "bytes",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "b",
|
|
|
|
// "type": "bytes"
|
|
|
|
// }
|
|
|
|
// ],
|
|
|
|
// "indexed": false,
|
2019-07-02 14:04:52 +00:00
|
|
|
// "internalType": "struct C.S",
|
2019-07-02 15:30:54 +00:00
|
|
|
// "name": "s",
|
|
|
|
// "type": "tuple"
|
|
|
|
// }
|
|
|
|
// ],
|
|
|
|
// "name": "E",
|
|
|
|
// "type": "event"
|
|
|
|
// }
|
|
|
|
// ]
|