graphprotocol / graphprotocol/graph-node
Subgraph failing on eth_call reverts despite handling reverts in mappings
Offen
Dieses Issue hat noch niemand übernommen.
bug
- Vorherrschende Sprache
- Rust
- Sterne
- 3.2k
- Forks
- 1.1k
- Ø Merge
- 4 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Bug report
This subgraph failed with the error below.
Handler skipped due to execution failure, transaction: 0x99dc…deec, address: 0x5200…2584, signature: Transfer(indexed address,indexed address,indexed uint256), error: transaction 99dcc8e858854ac580ad6a88b5cdefe0ae8d9e9dbef4d07b7f96418c5f17deec: error while executing at wasm backtrace: 0: 0x32b9 - <unknown>!~lib/@graphprotocol/graph-ts/chain/ethereum/ethereum.CallResult<~lib/array/Array<~lib/@graphprotocol/graph-ts/chain/ethereum/ethereum.Value>>#get:value 1: 0x3e17 - <unknown>!src/mapping/handleTransfer: Mapping aborted at ~lib/@graphprotocol/graph-ts/chain/ethereum.ts, line 714, column 7, with message: accessed value of a reverted call, please check the `reverted` field before accessing the `value` field, handler: handleTransfer
Relevant log output
{
"jsonrpc": "2.0",
"error": {
"code": -32015,
"message": "VM execution error.",
"data": "revert"
},
"id": 2
}
{
"jsonrpc": "2.0",
"error": {
"code": -32015,
"message": "VM execution error.",
"data": "Reverted ERC721: invalid token ID"
},
"id": 44
}
IPFS hash
No response
Subgraph name or link to explorer
No response
Some information to help us out
- Tick this box if this bug is caused by a regression found in the latest release.
- Tick this box if this bug is specific to the hosted service.
- I have searched the issue tracker to make sure this issue is not a duplicate.
OS information
None
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne bei der gemeldeten Zeile 714 in ethereum.ts und verfolge, wie CallResult während handleTransfer mit zurückgegebenen eth_call-Ergebnissen umgeht. Verwende die bereitgestellten JSON-RPC-Fehler und den WASM-Backtrace, um den Fehler zu reproduzieren; fertig ist die Änderung, wenn Mappings, die Reverts behandeln, nicht mehr durch den Zugriff auf einen reverteten Call-Wert abgebrochen werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, wasm
- Bereich
- backend, blockchain
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100