Coin Brief ENDE

Polkadot SDK stable2603-8 gibt verlorenes Wechselgeld zurück

Parity veröffentlichte am 29. Oktober polkadot-stable2603-8, ein Patch-Release für die Linie stable2603 des Polkadot SDK, das zugleich als polkadot-v1.22.8 getaggt ist. Die Release Notes betonen, dass es nur Korrekturen an Crates enthält: Es gibt keine Knoten-Binärdateien oder Docker-Images und keine inkompatiblen Änderungen.

Sechs Crates sind aktualisiert, darunter pallet-asset-conversion, staging-xcm-executor, cumulus-primitives-utility und mehrere Snowbridge-Komponenten. Die für Nutzer relevante Korrektur betrifft den Asset-Tausch. Scheiterte ein Tausch auf einen festen Ausgabebetrag, etwa weil die Pool-Liquidität unter die Existenzeinlage fiel, teilte die Funktion den Eingangsbetrag in Tauschbetrag und Wechselgeld und gab bei Fehlschlag nur den Tauschbetrag zurück. Das Wechselgeld ging in einer Speichertransaktion verloren, die anschließend zurückgerollt wurde, sodass der Aufrufer es verlor. Jetzt gibt die Funktion bei Fehlschlag den vollen Einsatz zurück, wie es ihre Dokumentation immer beschrieb.

Die zweite Änderung, als XCM-Härtung bezeichnet, behebt Regressionen aus früherer Härtungsarbeit und fügt im XCM-Executor zusätzliche Schutzschichten hinzu. Als wichtigste Codeänderung nennen die Notes, dass Asset-Bestände bei Einzahlungen mit Wiederholung nach Besitz geleert werden; das spart pro Durchlauf Kopien, Suchvorgänge und eine Zwischenallokation, Reihenfolge und Verhalten bei Teilfehlern bleiben gleich.

Die Crates wurden mit Rust 1.93.0 gebaut und getestet. Release Candidates für die nächste Linie, stable2609-1, erschienen am selben Tag.

Polkadot SDK stable2603-8 gibt verlorenes Wechselgeld zurück
Polkadot SDK stable2603-8 gibt verlorenes Wechselgeld zurück — Coin Brief

Was das bedeutet

Der Fehler beim Asset-Tausch gehört zu denen, die im Block-Explorer nie als Fehler erscheinen: Ein gescheiterter Tausch gab einfach weniger zurück, als eingezahlt wurde. Parachains, die pallet-asset-conversion in ihrer Runtime haben, sollten das korrigierte Crate mit dem nächsten Runtime-Upgrade übernehmen; da es ein Crate-Release ist, ändert sich nichts, bevor jede Chain es ausliefert.