Skip to main content
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
이 항목은 예정된 LaunchLab 프로그램 업데이트를 다룹니다. 배포 전에 로컬 릴리스 브랜치에 대해 검증되었습니다. 프로덕션에서 새로운 경로를 활성화하기 전에 배포된 프로그램과 게시된 IDL을 확인하세요.
이 릴리스를 통해 런칭이 Token-2022 mint로 인용될 수 있습니다. 지금까지 quote 측은 레거시 SPL Token 프로그램으로 고정되어 있었으므로 base mint만 Token-2022일 수 있었습니다. quote mint가 접촉되는 모든 곳 — GlobalConfig 생성, 풀 초기화, 4개의 스왑 명령어, 모든 수수료 청구, CPMM 마이그레이션 — 이제 두 토큰 프로그램을 모두 수용하며, 스왑 명령어는 quote mint의 전송 수수료를 고려합니다.

통합자를 위한 요약

  • Quote mints는 Token-2022일 수 있습니다. CreateConfig는 Token-2022 quote_token_mint를 수용하고, InitializeV2 / InitializeWithToken2022는 quote-program 슬롯에서 두 토큰 프로그램을 모두 수용합니다. 계정 순서는 변경되지 않습니다 — 해당 슬롯에 전달하는 값만 변경됩니다.
  • 더 이상 사용되지 않는 Initialize는 여전히 레거시 전용입니다. 해당 quote-program 계정은 여전히 SPL Token으로 입력되므로, quote mint가 Token-2022인 설정은 InitializeV2 또는 InitializeWithToken2022를 통해서만 시작할 수 있습니다.
  • 슬리피지 한계는 지불자가 실제로 지불하고 받는 금액으로 이동합니다. minimum_amount_outmaximum_amount_in은 이제 vault가 이동한 금액이 아닌 quote mint의 전송 수수료를 차감한 순 금액과 비교됩니다. 수수료 부담 quote mint에서 기존 견적 로직은 비용을 과소 견적하고 수익을 과다 견적합니다.
  • PoolState.token_program_flag bit1이 의미를 갖습니다. quote mints가 레거시 전용일 때는 항상 0이었습니다. 전체 바이트를 0과 비교하는 클라이언트는 quote mint가 Token-2022일 때마다 레거시 base mint를 Token-2022로 읽을 것입니다. 이것이 이 릴리스에서 가장 가능성 높은 무음 중단입니다.
  • MigrateToCpswap이 두 개의 토큰 프로그램 계정을 이름 변경합니다. base_token_program / quote_token_programtoken_program / token_program_2022가 됩니다. 둘 다 항상 필요하며, 프로그램은 mint당 올바른 것을 선택합니다.
  • Mint/프로그램 쌍이 이제 검증됩니다. 두 스왑 mint 모두 mint::token_program 제약을 얻었으며, ClaimPlatformFee의 quote mint도 마찬가지이므로, 일치하지 않는 쌍은 무시되는 대신 되돌려집니다.
  • 새로운 오류 6023 CalculateOverflow. 코드 60006022는 변경되지 않습니다. 6023은 이전 릴리스에서 비워졌으며 이제 재사용됩니다.
  • 수수료 vault는 quote mint를 따릅니다. 생성자 및 플랫폼 수수료 vault, 그리고 공유 수수료 수신자의 토큰 계정은 quote mint를 소유한 프로그램에 있습니다.

어떤 계정이 타입을 변경했는가

이들 중 어느 것도 계정 목록의 위치를 변경하지 않습니다. 허용되는 값만 변경됩니다. Initialize (더 이상 사용되지 않는 V1 경로)는 의도적으로 이 표에 없습니다. 해당 quote-program 계정은 SPL Token으로 입력된 상태로 유지됩니다. 이들 중 여러 개는 또한 mint 제약을 강화했으므로, 일치하지 않는 mint/프로그램 쌍은 이전에 수용되거나 확인되지 않은 곳에서 이제 되돌려집니다:
  • 4개의 스왑 명령어는 base_token_mintquote_token_mint 모두를 일치하는 슬롯에 전달된 프로그램으로 제약합니다. 이전에는 어느 것도 해당 제약을 수행하지 않았으므로, 잘못된 base 프로그램은 무음으로 수용되었습니다.
  • ClaimPlatformFeequote_mint에 동일한 제약을 추가합니다.
  • ClaimPlatformFeeFromVault는 mint 계정인 것에 대한 제약을 토큰 계정 형식에서 mint 형식으로 수정합니다.

Quote 측 전송 수수료 회계

이것은 계정 목록이 아닌 숫자를 변경하는 부분입니다. TransferFeeConfig가 없는 quote mint에서 아래의 모든 공식은 이전 동작으로 축소되므로, 레거시 풀과 수수료 없는 Token-2022 풀은 비트 단위로 변경되지 않습니다. 명확히 명시할 가치가 있는 두 가지 결과:
  • 동등한 수수료 없는 풀에서 계산된 한계는 더 이상 허용되지 않습니다. 수수료 없는 비용을 maximum_amount_in으로 하는 BuyExactOut은 이제 ExceededSlippage로 되돌려지며, 수수료 없는 수익을 minimum_amount_out으로 하는 SellExactIn도 마찬가지입니다. 이것이 의도된 동작입니다 — 이전 비교는 지불자가 이미 동의한 한계 위에 전송 수수료로 청구되도록 했습니다.
  • 풀은 vault에 도착한 것만 기록합니다. 5% quote mint에서 amount_inBuyExactIn 후, real_quoteamount_in이 아닌 amount_in × 0.95만큼 증가합니다.
get_transfer_inverse_fee는 또한 100% 수수료 mint에 대한 특수 사례를 제거했습니다: maximum_fee로 폴백하는 대신, 역 수수료를 계산할 수 없을 때 새로운 CalculateOverflow 오류를 반환합니다. 10000 기본점의 quote mint는 따라서 수수료 상한에서 무음으로 거래하는 대신 정확한 출력 경로에 실패합니다.

token_program_flag bit1

PoolState.token_program_flag는 비트필드이며 항상 그래왔습니다:
필드, 비트 위치, 두 비트를 모두 쓰는 코드는 모두 이 릴리스보다 앞서갑니다. 변경되는 것은 quote mint가 이제 Token-2022 mint일 수 있으므로 bit1이 실제로 1일 수 있다는 것입니다. 4개의 값은: (token_program_flag >> bit) & 1로 각 mint의 프로그램을 읽습니다. base mint에 대해 바이트를 부울로 취급하는 모든 클라이언트 — flag === 0 ? Token : Token-2022 — 값 2를 Token-2022 base mint로 해석하고 base 측 토큰 계정과 전송을 잘못된 프로그램에 대해 구축할 것입니다. 계정 크기나 필드 오프셋 변경이 없으므로, 인덱서는 저장소 마이그레이션이 필요하지 않으며, 디코드 수정만 필요합니다.

CPMM 마이그레이션 계정 이름 변경

MigrateToCpswap은 이전에 mint당 하나의 토큰 프로그램을 가져갔으며, 호출자가 어느 것이 어느 것인지 결정했습니다. 이제 두 프로그램을 무조건 가져가고 mint 자체에서 매핑을 파생합니다: 두 위치는 변경되지 않으므로 이것은 레이아웃 변경이 아닌 값 변경입니다 — 하지만 값은 거의 반전되며, 이전 쌍을 계속 전달하는 빌더는 어느 mint든 Token-2022 mint가 되는 즉시 레거시 프로그램이 필요한 곳에 Token-2022를 전달할 것입니다. 레거시 프로그램은 CPMM LP mint와 잠금 유동성 Fee Key NFT가 항상 그것에 있기 때문에 어느 mint든 무조건 필요합니다. 2026-08-17 릴리스remaining_accounts 레이아웃은 변경되지 않습니다.

Quote mints는 관리자 재량으로만 허용됩니다

CPMM 및 CLMM과 달리, LaunchLab은 quote mint에 대해 어떤 확장 허용 목록도 실행하지 않습니다. CreateConfig는 mint 계정을 그대로 수용하므로, 유일한 게이트는 관리자가 GlobalConfig에 바인딩하는 mint입니다. 프로그램의 NoSupportExtension 확인은 LaunchLab이 자체적으로 생성하는 Token-2022 base mints에만 적용되며, MetadataPointerTransferFeeConfig만 허용됩니다. Token-2022 quote mint를 바인딩하는 것을 reference/token-2022-support의 CPMM/CLMM 정적 화이트리스트와 동일한 추론으로 높은 신뢰 작업으로 취급합니다. TransferHook 또는 PermanentDelegate quote mint는 설정 생성 시 허용되며, 그 후 그것에서 인용된 모든 풀에서 실행되거나 스윕할 수 있을 것입니다.

amm_creator_fee_on 타임스탬프 게이트

InitializeV2는 업그레이드 타임스탬프 전에 BothToken 이외의 amm_creator_fee_on을 거부한 타임스탬프 게이트를 제거합니다. 동등한 게이트는 여전히 InitializeWithToken2022에 있습니다. 실제로 두 경로 모두 오늘 mainnet-beta에서 어느 값이든 수용합니다. 왜냐하면 해당 타임스탬프 (1755522000, 2025-08-18 13:00 UTC)는 오래 지났기 때문입니다 — 이것은 현재 호출자에 대한 동작 변경이 아닌 정리입니다.

오류 및 IDL 영향

코드 600060226022 InvalidPlatformAllowConfig를 포함하여 변경되지 않습니다. 이전 릴리스는 이전 6023을 폐기하고 비워두었습니다. 이 릴리스는 번호를 재사용합니다. 이전 두 버전의 IDL로 6023을 디코드하지 마세요. Token-2022 quote 프로그램을 전달하기 전에, token_program_flag bit1을 디코드하기 전에, 또는 이름이 변경된 MigrateToCpswap 계정 목록을 구축하기 전에 LaunchLab IDL을 새로고침합니다.

SDK 영향

SDK의 launchpad 모듈의 quote 측은 프로그램이 있던 동일한 장소에서 TOKEN_PROGRAM_ID로 하드코딩되었습니다. 이 릴리스를 수반하는 브랜치는 대신 quote mint의 소유자를 해석하고, 토큰 계정 생성, 공유 수수료 수신자의 ATA, 명령어의 quote-program 슬롯을 통해 스레드하며, 4개의 Curve 메서드에 선택적 transferFeeConfigB를 추가하므로 견적은 위의 공식을 반영합니다. Curve 결과는 transferFeeB 필드를 얻습니다. amountB는 의미를 유지합니다 — 지불자가 지출하거나 판매자가 받는 것 — 따라서 수수료 없는 quote mint는 이전과 동일한 숫자를 생성합니다. 이 SDK 변경은 미발표입니다. 이 설명서 세트의 코드 데모 페이지의 정규 핀은 변경되지 않습니다. 새로운 매개변수에 의존하기 전에 게시된 버전을 확인합니다.

참조 구현

새로운 데모는 Yellowstone gRPC를 통해 LaunchLab 프로그램을 구독하고, 모든 GlobalConfigPoolState 업데이트에 대해 각 mint가 Token 또는 Token-2022 mint인지 여부를 기록합니다: raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts 이것은 이 릴리스가 필요하게 하는 두 가지에 대한 간단한 참조입니다. 풀은 token_program_flag에서 직접 분류되며, mint 페치 없이 두 비트를 모두 디코드합니다 — 이것이 위에서 설명한 bit1 중단에 대한 수정입니다. 설정은 GlobalConfig가 quote mint의 주소만 저장하고 프로그램 플래그는 저장하지 않기 때문에 그런 식으로 분류될 수 없으므로, 데모는 mint 계정의 소유자를 한 번 읽고 mint당 캐시합니다. 두 경로를 나란히 보는 것이 자신의 디코더를 확인하는 가장 빠른 방법입니다. products/launchlab/code-demos의 연습을 참조합니다.

업데이트된 페이지

  • products/launchlab/accounts — quote-mint 토큰 프로그램, token_program_flag 비트 레이아웃, vault 소유권.
  • products/launchlab/instructions — quote-program 계정, 스왑 슬리피지 의미론, 이름이 변경된 마이그레이션 계정.
  • products/launchlab/global-configquote_mint는 Token-2022 mint일 수 있으며, 무엇이 그것을 게이트하고 무엇이 게이트하지 않는지.
  • products/launchlab/code-demos — gRPC 설정/풀 감시자.
  • reference/token-2022-support — LaunchLab 행 및 quote-mint 섹션.
  • reference/error-codes6023 CalculateOverflow.