Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Dieser Eintrag behandelt ein bevorstehendes LaunchLab-Programm-Update. Er wurde vor der Bereitstellung gegen den lokalen Release-Branch überprüft. Bestätigen Sie das bereitgestellte Programm, bevor Sie sich auf die Auszahlung von Withheld-Gebühren vor der Graduation verlassen.
Ein Token-2022 Base-Mint, das von InitializeWithToken2022 erstellt wird, kann eine TransferFeeConfig tragen. Diese Extension hat zwei Autoritäten: transfer_fee_config_authority, die den Gebührensatz und die maximale Gebühr ändert, und withdraw_withheld_authority, die die Gebühren abheben kann, die Token-2022 auf Token-Konten einbehält. Bis zu diesem Release platzierte das Programm die Launch-authority PDA auf beiden bei der Mint-Erstellung und übergab beide an PlatformConfig.transfer_fee_extension_auth bei der Graduation. Das Launchpad-Programm hat keine Withdraw-Withheld- oder Harvest-Instruktion, daher konnte während der gesamten Bonding-Curve-Phase niemand den einbehaltenen Saldo abheben — der einzige Schlüssel, der das konnte, war eine PDA ohne Instruktion zum Signieren. Dieses Release schreibt transfer_fee_extension_auth direkt in withdraw_withheld_authority bei der Mint-Erstellung, sodass die Plattform einbehaltene Gebühren vom ersten Trade an abheben kann. MigrateToCpswap erhält einen Guard, sodass diese Autorität nur neu zugewiesen wird, wenn die PDA sie noch hält, was die Graduation für Mints beider Generationen funktionsfähig hält. Nichts anderes hat sich geändert. Kein Account ist gewachsen oder geschrumpft, keine Instruktion hat ein Konto gewonnen oder verloren, kein Argument hat sich geändert, und kein Fehlercode ist verschoben worden.

TL;DR für Integratoren

  • Einbehaltene Transfergebühren können während des Launches abgehoben werden. Bei einem neuen Token-2022-Launch, dessen Plattform transfer_fee_extension_auth gesetzt hat, ist dieser Schlüssel die withdraw_withheld_authority des Mints von der Erstellung an. Rufen Sie direkt Token-2022s eigene WithdrawWithheldTokensFromAccounts / WithdrawWithheldTokensFromMint auf; LaunchLab hat keine Instruktion dafür und hatte nie eine.
  • transfer_fee_config_authority Timing ist unverändert. Es ist immer noch die Launch-authority PDA bis zur Graduation und wird immer noch in MigrateToCpswap zu transfer_fee_extension_auth verschoben. Der Gebührensatz kann während des Launches nicht geändert werden.
  • Setzen Sie transfer_fee_extension_auth vor dem Launch. Wenn es bei der Mint-Erstellung Pubkey::default() ist, fällt die Withdraw-Autorität auf die authority PDA zurück — das alte Verhalten. Das Setzen des Feldes danach stellt die Autorität bei der Graduation immer noch wieder her, aber der einbehaltene Saldo bleibt bis dahin blockiert.
  • Rotieren Sie das Feld nicht während des Launches. Die beiden Autoritäten werden zu zwei verschiedenen Zeitpunkten gelesen, daher hinterlässt ein Wert, der sich dazwischen ändert, sie auf verschiedenen Schlüsseln. Details in Rotation teilt die beiden Autoritäten.
  • MigrateToCpswap ist für Aufrufer unverändert. Gleiche Konten, gleiche Argumente, gleiche Fehler. Der neue Guard ist intern; ohne ihn würde die Migration eines Mints der neuen Generation innerhalb von Token-2022 fehlschlagen, weil die PDA eine Autorität, die sie nicht hält, nicht mehr abgeben kann.
  • Bestehende Launches sind nicht betroffen. Mints, die bereits on-chain sind, behalten die PDA auf beiden Autoritäten und erhalten beide immer noch bei der Graduation übergeben.
  • Keine IDL-Aktualisierung erforderlich. Keine Layouts, Konten, Argumente oder Fehlercodes haben sich geändert.

Wer hält was und wann

Beide Übergaben sitzen immer noch hinter der gleichen äußeren Bedingung, die sie schon immer hatten: Der Base-Mint muss TransferFeeConfig tragen und transfer_fee_extension_auth muss nicht standardmäßig sein. Eine Plattform, die das Feld nie setzt, behält beide Autoritäten auf der authority PDA für immer — der Gebührensatz kann nie geändert und der einbehaltene Saldo kann nie abgehoben werden.

Rotation teilt die beiden Autoritäten

transfer_fee_extension_auth wird zweimal pro Launch gelesen, zu zwei Zeitpunkten, die Tage auseinander liegen können:
  1. Bei InitializeWithToken2022, für withdraw_withheld_authority.
  2. Bei MigrateToCpswap, für transfer_fee_config_authority — und für withdraw_withheld_authority nur, wenn die PDA sie noch hält.
Rotieren Sie das Feld dazwischen durch UpdatePlatformConfig und die beiden Autoritäten landen auf verschiedenen Schlüsseln: Die Withdraw-Seite behält den Schlüssel, der bei der Erstellung konfiguriert wurde, weil die PDA ihn nicht mehr hält und die Migration diese Übergabe überspringt, während die Fee-Config-Seite zum neuen Schlüssel geht. Kein Aufruf schlägt fehl; die Aufteilung ist stumm. Rotieren Sie zwischen Launches, oder gleichen Sie die Schlüssel danach direkt durch Token-2022 mit dem alten Schlüssel ab, der signiert.

Warum der Guard erforderlich ist, nicht nur defensiv

Token-2022s SetAuthority erfordert, dass die aktuelle Autorität signiert. Nach der neuen Erstellungsregel ist die Launch-authority PDA nicht die Withdraw-Withheld-Autorität auf einem neuen Mint, daher würde der bedingungslose CPI, den das Programm früher machte, fehlschlagen — und weil er sich in MigrateToCpswap befindet, würde dieser Fehler die Graduation für jeden Token-2022-Launch mit einer Transfergebühr auf einer Plattform, die das Feld konfiguriert hat, blockiert haben. Die beiden Änderungen funktionieren nur als Paar.

Was sich nicht geändert hat

  • Transfergebühren-Mathematik und Buchhaltung. MAX_TRANSFER_FEE_RATE ist immer noch 500 (5%, Nenner 10_000), die Gebühr wird immer noch auf die gleiche Weise in die Kurve eingepreist, und der einbehaltene Saldo sammelt sich immer noch auf den Token-Konten an, die Token-2022 darauf legt.
  • MigrateToCpswaps Schnittstelle. Gleiche Kontoliste, gleiche remaining_accounts Indizes, gleiche zwei Token-Programme, keine Argumente.
  • InitializeWithToken2022s Schnittstelle. Gleiche Konten, gleiche TransferFeeExtensionParams, gleiche NoSupportExtension Ablehnung für alles außer MetadataPointer und TransferFeeConfig.
  • Quote-seitige Token-2022-Behandlung. Unverändert von 2026-08-24.
  • Fehlercodes. 60006023 sind unverändert; dieses Release fügt keine hinzu.
  • Account-Layouts und die IDL. Unverändert. PlatformConfig.transfer_fee_extension_auth behält seinen Offset und seinen Typ; nur wie das Programm ihn liest, hat sich geändert.

Aktualisierte Seiten

  • products/launchlab/platform-config — neuer Abschnitt „Token-2022 Transfergebühren-Autoritäten” mit Abdeckung beider Autoritäten, beider Übergabepunkte und der Rotationsfalle; Layout-Kommentar und Pitfalls-Liste korrigiert.
  • products/launchlab/instructionsMigrateToCpswap erhält einen Block „Token-2022 Transfergebühren-Autorität Übergabe”; Initialize Nachbedingungen dokumentieren die neuen Mint-Erstellungs-Autoritäten.
  • products/launchlab/accounts — Autorität-PDA-Rollenliste und der Base-Mint-Abschnitt vermerken, welche Transfergebühren-Autoritäten die PDA tatsächlich hält.
  • reference/token-2022-support — LaunchLab Base-Mint-Eintrag gibt an, wer die Transfergebühren-Autoritäten hält und wann.