Skip to content

Commit

Permalink
fix generated Event JSON omits field "anonymous"
Browse files Browse the repository at this point in the history
  • Loading branch information
esaulpaugh committed Dec 16, 2022
1 parent fca189a commit 819ccd3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/main/java/com/esaulpaugh/headlong/abi/ABIJSON.java
Original file line number Diff line number Diff line change
Expand Up @@ -257,9 +257,11 @@ static String toJson(ABIObject o, boolean pretty) {
}
stateMutability(out, f.getStateMutability());
} else if (o.isEvent()) {
final Event e = o.asEvent();
type(out, EVENT);
name(out, o.getName());
tupleType(out, INPUTS, o.getInputs(), o.asEvent().getIndexManifest());
tupleType(out, INPUTS, o.getInputs(), e.getIndexManifest());
out.name(ANONYMOUS).value(e.isAnonymous());
} else {
type(out, ERROR);
name(out, o.getName());
Expand Down
22 changes: 20 additions & 2 deletions src/test/java/com/esaulpaugh/headlong/abi/ABIJSONTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ public class ABIJSONTest {
" \"type\": \"uint256\",\n" +
" \"indexed\": false\n" +
" }\n" +
" ]\n" +
" ],\n" +
" \"anonymous\": true\n" +
" },\n" +
" {\n" +
" \"type\": \"function\",\n" +
Expand Down Expand Up @@ -418,6 +419,22 @@ public void testAnonymousEvent() {
assertEquals(a, c);
assertEquals(a.hashCode(), b.hashCode());
assertEquals(a.hashCode(), c.hashCode());

assertEquals(a, Event.fromJson(a.toJson(true)));
assertEquals(a, Event.fromJson(a.toJson(false)));
assertEquals(a, Event.fromJson(a.toString()));

assertEquals(a, Event.fromJson(b.toJson(true)));
assertEquals(a, Event.fromJson(b.toJson(false)));
assertEquals(a, Event.fromJson(b.toString()));

assertEquals(b, Event.fromJson(a.toJson(true)));
assertEquals(b, Event.fromJson(a.toJson(false)));
assertEquals(b, Event.fromJson(a.toString()));

assertEquals(b, Event.fromJson(b.toJson(true)));
assertEquals(b, Event.fromJson(b.toJson(false)));
assertEquals(b, Event.fromJson(b.toString()));
}

@Test
Expand Down Expand Up @@ -507,7 +524,8 @@ public void testGetEvents() {
" \"type\": \"uint256\",\n" +
" \"indexed\": false\n" +
" }\n" +
" ]\n" +
" ],\n" +
" \"anonymous\": true\n" +
"}";

assertEquals(eventJson, event.toJson(true));
Expand Down

0 comments on commit 819ccd3

Please sign in to comment.