diff --git a/pkg/graphql/client.go b/pkg/graphql/client.go index 0bb4705d..83fd820a 100644 --- a/pkg/graphql/client.go +++ b/pkg/graphql/client.go @@ -21,8 +21,13 @@ type GetStorageAt struct { } type LogResponse struct { - Topics []common.Hash `json:"topics"` - Data hexutil.Bytes `json:"data"` + Topics []common.Hash `json:"topics"` + Data hexutil.Bytes `json:"data"` + Transaction TransactionResp `json:"transaction"` +} + +type TransactionResp struct { + Hash common.Hash `json:"hash"` } type GetLogs struct { @@ -44,6 +49,9 @@ func (c *Client) GetLogs(ctx context.Context, hash common.Hash, address common.A getLogs(blockHash: "%s", contract: "%s") { data topics + transaction { + hash + } } } `, hash.String(), address.String()) diff --git a/pkg/graphql/graphql_test.go b/pkg/graphql/graphql_test.go index f91ce2a3..c1665154 100644 --- a/pkg/graphql/graphql_test.go +++ b/pkg/graphql/graphql_test.go @@ -161,8 +161,9 @@ var _ = Describe("GraphQL", func() { expectedLogs := []graphql.LogResponse{ { - Topics: test_helpers.MockLog1.Topics, - Data: hexutil.Bytes(test_helpers.MockLog1.Data), + Topics: test_helpers.MockLog1.Topics, + Data: hexutil.Bytes(test_helpers.MockLog1.Data), + Transaction: graphql.TransactionResp{Hash: test_helpers.MockTransactions[0].Hash()}, }, } Expect(logs).To(Equal(expectedLogs))