Tx Doctor / Solana 오류 사전
Solana 오류 사전
각 항목에서 오류의 의미, 해당 오류를 내는 프로그램, 해결하는 구체적 절차를 설명합니다.
내 트랜잭션 진단하기슬리피지 허용치 초과
Custom 6001 — 가격이 허용한 슬리피지보다 더 움직여서 라우터가 체결을 거부하고 거래를 취소했습니다. 스왑은 일어나지 않았고 토큰도 이동하지 않았습니다.
토큰 잔액 부족
Token 0x1 — 토큰 계정의 잔액이 전송량에 부족하거나, 같은 거래 안의 앞선 명령이 이미 그 수량을 사용했습니다.
수수료를 낼 SOL 부족
InsufficientFundsForFee — 수수료 지불 계정에 네트워크 수수료와 새 계정의 렌트를 감당할 SOL이 없었습니다.
블록해시를 찾을 수 없음(만료)
BlockhashNotFound — 거래가 참조한 최근 블록해시가 이미 만료되어 네트워크가 처리를 거부했습니다. 자금 문제가 아니라 타임아웃입니다.
토큰 계정이 동결됨
Token 0x11 — 토큰 발행사가 이 토큰 계정을 동결해서, 해제될 때까지 해당 토큰을 보내거나 받을 수 없습니다.
토큰 계정 소유자 불일치
Token 0x4 — 토큰 계정이 서명자와 다른 지갑 소유라서 프로그램이 토큰 이동을 거부했습니다.
계정이 초기화되지 않았거나 없음
AccountNotFound — 거래가 기대하는 계정이 아직 온체인에 없어서 프로그램이 읽거나 쓸 수 없습니다.
이미 처리된 거래
AlreadyProcessed — 이 서명된 거래는 이전에 제출되어 처리되었습니다. 보통 중복 제출이며 새로운 실패가 아닙니다.
컴퓨트 예산 초과
ProgramFailedToComplete — 거래가 끝나기 전에 컴퓨트 유닛을 다 써서 프로그램이 중간에 중단되었습니다.
커스텀 프로그램 오류(알 수 없는 코드)
Custom ... — 어떤 프로그램이 자체 개발자만 정의한 오류 코드로 거래를 거부했습니다. 실패 전후 로그에 원인이 드러나는 경우가 대부분입니다.
네트워크 혼잡으로 미포함
AccountInUse — 블록이나 계정이 과부하되어 거래가 드롭되었습니다. 온체인에서는 아무 일도 일어나지 않았습니다.
서명 검증 실패
SignatureFailure — 거래의 서명이 메시지와 일치하지 않습니다. 지갑이 서명한 바이트와 제출된 바이트가 다릅니다.
거래 형식 오류 또는 미지원
SanitizeFailure — 노드가 거래를 파싱할 수 없습니다. 구조가 잘못되었거나 엔드포인트가 지원하지 않는 버전입니다.
렌트를 낼 SOL 부족
InsufficientFundsForRent — 계정을 만들거나 입금하면 렌트 면제 최소액 아래로 내려가기 때문에 네트워크가 거래를 거부했습니다.
계정이 렌트 면제 기준 미달
Token 0x0 — 토큰 계정이 렌트 면제 임계값 아래로 내려가게 되어 토큰 프로그램이 허용하지 않습니다.
mint 불일치
Token 0x3 — 토큰 계정의 mint가 명령이 기대하는 것과 다릅니다. 보통 오래되었거나 잘못된 계정이 전달된 경우입니다.
계정 상태가 유효하지 않음
Token 0xd — 계정은 존재하지만 프로그램이 처리할 수 있는 상태가 아닙니다. 초기화되지 않았거나 이미 닫힌 토큰 계정 등입니다.
토큰 연산 오버플로
Token 0xe — 토큰 프로그램 내부 연산이 오버플로했습니다. 수량이 공급량이나 decimals로 표현할 수 있는 상한을 넘었습니다.
슬리피지 값이 유효하지 않음
Custom 6004 — 슬리피지 파라미터 자체가 거부되었습니다. 0이거나 음수, 또는 프로그램의 허용 상한을 넘었습니다.
플랫폼 수수료 계정 누락
Custom 6003 — 라우트가 요구하는 플랫폼 수수료 계정이 전달되지 않아 스왑이 실행 전에 거부되었습니다.
라우트 계산이 유효하지 않음
Custom 6002 — 프로그램 내부 연산이 라우트를 거부했습니다. 아주 작은 수량, 극단적인 가격 영향, 거의 유동성이 없는 풀이 대표적입니다.
입력/출력 인덱스가 유효하지 않음
Custom 6006 — 라우트가 계정 목록에 없는 토큰 위치를 참조했습니다. 시장 문제가 아니라 라우트 자체가 잘못된 것입니다.