Ein Benutzer hat heute ein Ticket im Revoke-Discord eröffnet. Ihr sDAI-Guthaben wird nicht angezeigt. Also habe ich mich eingehend damit beschäftigt: Es stellt sich heraus, dass sDAI absichtlich keine Transferereignisse beim Minten/Brennen des Tokens ausgibt. Das belastet den Rest des Ökosystems unnötig.
Der sDAI-Vertrag implementiert ERC-4626, einen Standard für Einzel-Token-Vaults. Dieser Standard legt fest, dass bei der Prägung/Verbrennung des Vault-Tokens Deposit/Withdraw-Events ausgegeben werden müssen. Er verbietet Entwicklern jedoch nicht, auch Transfer-Events auszugeben.
Die Spark-Dokumente erwähnen, dass sie absichtlich keine Transfer-Events bei Mint/Burn ausgeben, um Gas in diesen Transaktionen zu sparen. Ich würde argumentieren, dass die zusätzliche Integrationsbelastung für den Rest des Ökosystems weitaus kostspieliger ist als die kleinen Gasersparnisse, die dies erzielt.
Vergleiche den ideologischen Ansatz von sDAI mit dem pragmatischen Ansatz von Yearn. Die Yearn v3 Vaults sind ebenfalls ERC-4626-konform, erzeugen jedoch weiterhin Transferereignisse, damit sie leicht in Wallets, Explorern und anderen Tools integriert werden können.
Es scheint, dass Spark zustimmt, dass das Entfernen von Transferereignissen ein Fehler war, da der neuere sUSDS-Token bei Einzahlungen/Abhebungen tatsächlich Transferereignisse ausgibt. In Anbetracht dessen hoffe ich, dass zukünftige ERC-4626-Vaults weiterhin diesem pragmatischeren Ansatz folgen.
Was bedeutet das für Revoke? Ihre GENEHMIGUNGEN werden IMMER korrekt angezeigt. Aber wir könnten möglicherweise Ihr sDAI *Guthaben* nicht anzeigen, wenn Sie es nur geprägt haben. Sobald Sie andere sDAI-Übertragungen vorgenommen haben, wird Ihr Guthaben wie gewohnt angezeigt.
8,7K