graphprotocol / graphprotocol/graph-node
unknown import: `ethereum::ethereum.call` has not been defined
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.2k
- Forks
- 1.1k
- Ø Merge
- 4 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Summary
This happens when a file data source handler uses contract calls directly or is in the same AssemblyScript file as other handlers which use contract calls. If the contract call is done by a different handler in the same file, this can be fixed by putting the file data source handler in its own file, which is best practice.
Potential Fix
Contract calls in file data source handlers could be enabled by somehow passing the ethereum.call host fn when instantiating an offchain data source, relevant code:
https://github.com/graphprotocol/graph-node/blob/92670f27d93ed08a6e83805ad644d9004d4d77ee/runtime/wasm/src/host.rs#L137-L141
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
Beginnen Sie in runtime/wasm/src/host.rs ungefähr bei den Zeilen 137–141 und verfolgen Sie, wie Offchain-Datenquellen instanziiert werden. Bestätigen Sie, wie sich die fehlende ethereum.call-Hostfunktion auf Handler für File-Datenquellen auswirkt, und ermitteln Sie anschließend, ob sie bei der Instanziierung übergeben werden kann. Die Aufgabe ist erledigt, wenn Vertragsaufrufe in den beschriebenen Handler-Szenarien nicht mehr den unknown import-Fehler erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, wasm
- Bereich
- backend-api-design, blockchain
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100