Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Out of gas tx triggers subgraph call handler #2409

Closed
fnanni-0 opened this issue Apr 24, 2021 · 4 comments · Fixed by #2511
Closed

Out of gas tx triggers subgraph call handler #2409

fnanni-0 opened this issue Apr 24, 2021 · 4 comments · Fixed by #2511
Assignees
Labels
bug Something isn't working chains/ethereum

Comments

@fnanni-0
Copy link

This transaction ran out of gas. The purpose of this transaction was to execute 3 different transactions through a transaction batcher contract. You can see that the first of those transactions is calling executeRequest() of this contract.

My understanding is that this reverted transaction should not have triggered any call in the subgraph. However, it did trigger executeRequest() call handler. Is this a bug or am I missing something?

@leoyvens
Copy link
Collaborator

This is probably because in the traces the call to the contract did not error, even though the transaction itself reverted.

@leoyvens leoyvens transferred this issue from graphprotocol/support Apr 26, 2021
@leoyvens leoyvens added chains/ethereum bug Something isn't working labels Apr 26, 2021
@fnanni-0
Copy link
Author

Hi @leoyvens, does this have an ETA?

@leoyvens
Copy link
Collaborator

No ETA yet, but I'll share some thoughts on what it takes to fix this:

  • A transaction is considered reverted if either the gas spent equals the provided gas, or if the status field has a value of 0, see EIP-658.

  • Gas spent and the status are fields of the transaction receipt, but for historical blocks Graph Node does not fetch receipts. So fixing this will incur a performance hit to the sync time of all subgraphs employing call handlers.

  • A decision needs to be made if this fix will be versioned in Graph Node and therefore apply to existing subgraphs, or if this fix will be versioned in the manifest.

@tilacog tilacog self-assigned this May 11, 2021
@fnanni-0
Copy link
Author

Got it, thanks for the explanation!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working chains/ethereum
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants