Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
명령어 요약
| 태그 | Discriminator | 고정값 | 변형 |
|---|---|---|---|
| 0 | SwapBaseInWithUserAccount | 입력 | 레거시 |
| 1 | SwapBaseOutWithUserAccount | 출력 | 레거시 |
| 5 | CreateSyncNative | — | 유틸리티 |
| 6 | CloseTokenAccount | — | 유틸리티 |
| 8 | SwapBaseIn | 입력 | 현재 |
| 9 | SwapBaseOut | 출력 | 현재 |
- 고정값: 호출자가 정한 금액 (입력 = 정확 입력
amount_in; 출력 = 정확 출력amount_out). - 변형: 레거시 명령어는 경로에 CLMM 홉이 없어도 비어있지 않은
limit_prices덱이 필요합니다. 현재 명령어 (8 / 9)는 빈limit_prices를 “검사 없음”으로 처리하는 것이 새 코드에 권장됩니다.
SwapBaseIn) 또는 **태그 9 (SwapBaseOut)**을 사용하세요.
현재 스왑 명령어 (권장)
새 코드가 사용해야 할 진입점입니다. 인자 구조는 레거시 변형과 동일하지만limit_prices는 비어있을 수 있습니다.
SwapBaseIn (태그 8)
정확 입력 멀티홉 스왑입니다. 호출자는 amount_in을 정하고, 라우터는 홉 단위로 실행하여 최종 금액이 minimum_amount_out 이상인지 확인합니다.
인자
- 호출자는
user_input_ata로 서명합니다. user_input_ata.amount >= amount_in.- 각 중간 사용자 ATA가 존재하고 호출자가 소유합니다.
- 어떤 홉이 CLMM이고 가격 범위 시행을 원하면, CLMM 홉마다 하나의
limit_prices항목을 제공하세요.
user_input_ata잔액이amount_in만큼 감소합니다.user_output_ata잔액이 ≥minimum_amount_out만큼 증가합니다.- 각 중간 ATA는 순 변화가 없습니다 (경로는 이전 홉에서 생성한 금액을 소비합니다).
ExceededSlippage— 최종 출력 <minimum_amount_out.InvalidInput— 빈 경로, 잘못된 형식의 계정, 또는 지원되지 않는pool_program.SqrtPriceX64— CLMM 홉의 가격이 제공된limit_prices범위를 벗어남 (limit_prices가 비어있지 않을 때만).
SwapBaseOut (태그 9)
정확 출력 멀티홉 스왑입니다. 호출자는 amount_out을 정하고, 라우터는 실제 입력이 maximum_amount_in을 초과하지 않는지 확인합니다.
인자
- 호출자는
user_input_ata로 서명합니다. 잔액>= maximum_amount_in(최악의 경우). - 각 중간 및 출력 ATA가 존재합니다.
user_input_ata가 필요한 실제 금액만큼 감소합니다 (≤maximum_amount_in).user_output_ata가 정확히amount_out만큼 증가합니다.
ExceededSlippage— 필요한 입력이maximum_amount_in을 초과합니다.InvalidInput,SqrtPriceX64— 태그 8과 동일합니다.
레거시 스왑 명령어
이 구버전 변형들은 라이브 프로그램에서 여전히 호출 가능하며 완성도를 위해 문서화되었습니다. 새 코드의 경우 태그 8 / 태그 9를 선호하세요. 아래의 두 레거시 변형 모두 CLMM 홉이 없어도 비어있지 않은limit_prices 덱이 필요하므로 사용하기 번거롭습니다.
SwapBaseInWithUserAccount (태그 0)
정확 입력 멀티홉 스왑으로, 태그 8과 동일한 형태이지만 더 엄격한 limit_prices 요구사항이 있습니다.
인자
SwapBaseIn (태그 8)과 동일한 형태입니다. 모든 중간 슬롯은 호출자가 소유한 ATA여야 합니다.
사전 조건
- 호출자는
user_input_ata로 서명합니다. user_input_ata.amount >= amount_in.- 모든 중간 사용자 ATA가 존재하고 호출자가 소유합니다.
limit_prices는 비어있지 않습니다 (CLMM 홉당 하나의 항목; CLMM 홉이 없으면 자리 표시 값으로 채우세요).
user_input_ata잔액이amount_in만큼 감소합니다.user_output_ata잔액이 ≥minimum_amount_out만큼 증가합니다.
ExceededSlippage.InvalidInput— 이 레거시 변형에서는 빈limit_prices가 거부됩니다.SqrtPriceX64.
SwapBaseOutWithUserAccount (태그 1)
정확 출력 스왑으로, SwapBaseOut (태그 9)의 레거시 대응물입니다.
인자
- 호출자는
user_input_ata로 서명합니다. user_input_ata.amount >= maximum_amount_in.- 모든 중간 사용자 ATA가 존재하고 호출자가 소유합니다.
limit_prices는 비어있지 않습니다.
user_input_ata가 필요한 실제 금액만큼 감소합니다 (≤maximum_amount_in).user_output_ata가 정확히amount_out만큼 증가합니다.
ExceededSlippage.InvalidInput.SqrtPriceX64.
유틸리티 명령어
CreateSyncNative (태그 5)
한 단계에서 wSOL ATA를 만들고 (없으면) 동기화합니다. 스왑과 함께 인라인으로 SOL을 래핑할 때 편리합니다.
인자
user_wsol_ata가 아직 존재하지 않으면 생성합니다.amountlamports를 서명자의 네이티브 SOL 잔액에서 ATA로 전송합니다.- ATA에서
SyncNative를 호출하여 토큰 잔액이 새로운 lamports를 반영하도록 합니다.
InvalidOwner—user_wsol_ata의 소유자가 서명자가 아닙니다.
CloseTokenAccount (태그 6)
토큰 계정을 닫고 렌트를 대상 지갑에 반환합니다. CreateSyncNative와 쌍을 이룹니다: wSOL 레그 스왑 후, CloseTokenAccount를 호출하여 wSOL ATA를 지원하는 렌트를 복구하세요.
인자 — 없음.
계정
token_account_to_close를 닫습니다.- 렌트 면제 lamports 잔액 (메인넷의 바닐라 SPL Token 계정의 경우 약 0.00203928 SOL)을
destination_for_rent로 전송합니다. - 토큰 계정의 잔액이 0이어야 합니다.
InvalidOwner— 호출자가 ATA 소유자가 아닙니다.- 토큰 계정 잔액이 0이 아닙니다.
다음 단계
products/routing/code-demos— TypeScript로 각 명령어 구축하기.products/routing/accounts— AMM당 디스패치 키 및 홉당 계정 레이아웃.reference/error-codes— 전체RouteError목록.


