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 — ルートがアカウント一覧に存在しないトークン位置を参照しました。市場の問題ではなく、ルート自体の不正です。