Metaplex Sugarでdeployすると0x7d1エラー

Metaplex Candy Machine v2の代替ツール、 Metaplex Sugar で発生した現象。

現象

sugar deployすると0x7d1エラー。

% sugar deploy
[1/2] 🍬 Loading candy machine
Candy machine ID: DK8UuaycmgXnwfFwDPzAdudvJPxLGc7Digq667oG21u3

[2/2] 📝 Writing config lines
Sending config line(s) in 1 transaction(s): (Ctrl+C to abort)
[00:00:02] Deploy failed ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0/1

🛑 Error running command (re-run needed): Failed to deploy all config lines, 1 error(s) occurred:
=> Transaction error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d1 [9 log messages]

Caused by:
    0: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d1 [9 log messages]
    1: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x7d1 [9 log messages]

原因

sugar uploadすると、cache.jsonにその内容がキャッシュとして反映される。
(sugar deployはその内容をアップする)

今回、誤った設定の状態でキャッシュデータが残ってしまった。その状態で設定変更して検証していたため、いつまでたっても正しい設定内容で反映されず、キャッシュ(エラー版)が適用されていた。
何をいじっても同じエラー出力だったため、おかしいと思った。

対応

cache.jsonを削除して、「sugar validate」「sugar upload」「sugar deploy」する。

備考

  • エラーコードは Anchor Errors で把握できる。
  • Metaboss v 0.7.3以上だと、find でエラーコードで検索もできる。
% metaboss find error 0x7
[2022-07-02T06:12:40Z WARN  metaboss] Using a public RPC URL is not recommended for heavy tasks as you will be rate-limited and suffer a performance hit
[2022-07-02T06:12:40Z WARN  metaboss] Please use a private RPC endpoint for best performance results.
    Token Metadata |    UpdateAuthorityIncorrect: Update Authority given does not match
Done!
  • エラーコードは、おそらく 0x<数字> で探すのが正解っぽい? (例)「0x7d1」でエラー出力された場合だと、「0x7」で探す