graphprotocol / graphprotocol/graph-node

Subgraph failing on eth_call reverts despite handling reverts in mappings

Offen
#5,534 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.