mcpField
C
cli-cast

cli-cast

github.com/paulrberg開発102303 回インストール今日更新
リポジトリ

cli-cast について

EVMトランザクション向けFoundry Cast CLIスキルで、チェーンとプロバイダーの解決から準備、シミュレーション、署名、ブロードキャスト、検証までを扱います。範囲を限定した読み取り、署名者の確認、手数料計算、状態変更フェーズの分離を重視します。

主な機能

  1. 01`evm-atlas`によるチェーンとプロバイダーの解決
  2. 02トランザクション準備とシミュレーションの手順
  3. 03署名者の機能と権限の確認
  4. 04チェーン別の手数料・予備費計算
  5. 05ブロードキャストとレシート検証の手順

活用シーン

  1. 01コントラクトトランザクションの準備とレビュー
  2. 02対応するチェーンの手数料モデルに沿った見積もり
  3. 03許可されたトランザクションの署名と送信
  4. 04トランザクションの検証とEIP-7702フローの処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/paulrberg/agent-skills --skill cli-cast

インストール後、Claude Code で/cli-castを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
browser-signing.md
eip7702.md
ethereum-gas.md
version.txt
scripts/
rabby-slow-gas.sh

詳細

Foundry Cast CLI

このスキルは調整ゲートの適用対象外です。宣言された作業では ai-coord ゲートをスキップしてください。

読み取り、準備、シミュレーション、署名、ブロードキャストを分離してください。コマンドの構築に状態を変更する操作を隠さないでください。

EIP-7702 の認可または委任の取り消しを行う場合は、準備の前にreferences/eip7702.mdを読んでください。署名者の選択、権限者とトランザクション送信者の違い、条件付きの段階的承認について定義されています。また、トランザクションレシートに加え、認可の検証についても定義されています。

チェーンとプロバイダーの解決

ネットワーク操作の前には必ず$evm-atlasを呼び出してください。チェーンの解決、個別の読み取り、範囲が限定されたライブサブスクリプションは、これが担います。明示的なチェーン名または ID、JSON-RPC メソッド、正確なパラメーターまたはコールオブジェクト、ブロックセレクターまたはチェックポイント要件を渡してください。結果が必要な理由を伝えてください。解決済みのチェーン名と ID、プロバイダールート、結果、観測したブロックまたはチェックポイント、カバレッジの不足を含む読み取りパケットを要求してください。

チェーンがevm-atlasに存在しない場合は、RPC に依存する作業を中止してください。この制限を回避するために、任意の RPC URL を受け入れないでください。チェーンが曖昧な場合、Ethereum だと決めつけないでください。

このスキルで RPC URL を使用できるのは、範囲が限定された個別の読み取りでは表現できないトレース、フォーク、または送信フローに限られます。RouteMesh を利用した継続的なトランスポートでは、まずevm-atlasに現在の RouteMesh カバレッジを確認させてください。そのうえで、明示的な Foundry エイリアスが設定されている場合は、次を使用してください。

ROUTEMESH_CHAIN_ID="$CHAIN_ID" cast COMMAND --rpc-url routemesh

このエイリアスでは、ROUTEMESH_API_KEYなどの環境変数を展開できます。routemesh CLI は独自のキーを保持しています。そのため、atlas の読み取りに成功しても、エイリアスが解決されることの証明にはなりません。エイリアスを使ってトランザクションに署名しブロードキャストする前、または別の方法でエイリアスを使用する前に、ROUTEMESH_CHAIN_ID="$CHAIN_ID" cast chain-id --rpc-url routemesh 2>/dev/nullを実行してください。期待されるチェーン ID と一致することを確認してください。確認に失敗した場合は、値を表示せずに、ユーザーの環境設定から不足している変数を読み込んでください。読み込めない場合、そのエイリアスは設定されていないものとして扱ってください。

それ以外の場合は、evm-atlasが検証した、シークレットを含まないパブリック RPC を使用してください。RouteMesh URL の構築、検査、表示は決して行わないでください。Foundry がトランスポート障害時に解決済みのエイリアス URL を表示する可能性があるため、Cast の標準エラー出力にはシークレットが含まれるものとして扱ってください。その出力をチャット、ログ、外部レポートに転載しないでください。

すべての RPC 値は、evm-atlasの現在の読み取りパケット、または上記の RouteMesh エイリアスから解決してください。準備、シミュレーション、検証コマンドにハードコードされたパブリック RPC URL を使うことは、チェーンが一致していても、この委任への違反です。これには、記憶や以前の応答から持ち込んだhttps://形式のエンドポイントも含まれます。

そのプロバイダーに対するローカルのcastコマンドが、--jsonで 16 進数の数量を返した場合は、デコードしてください。cast to-dec <hex>、またはcast receipt <hash> <field>やcast tx <hash> <field>などのフィールド選択形式を使用してください。--jsonの出力をjq tonumberにパイプしないでください。16 進数の文字列やnullでは失敗します。

権限の各フェーズ

コントラクト呼び出しを実行する指示は、要求された範囲内での準備、シミュレーション、署名、ブロードキャスト、必要なウォレット確認を許可するものです。レビュー内容を提示したうえで、別途チャットで承認を求めたり、ユーザーにウォレットを手動でクリックさせたりせずに続行してください。各フェーズを通して既存の認可を適用してください。読み取り専用、準備のみ、またはシミュレーションのみの依頼は、実行を許可するものではありません。

ユーザーの明示的な指示は、スキルの既定の動作に優先します。ユーザーが指定した承認ゲートとホスト制限に従ってください。実行にあたり、ユーザーから与えられていない権限または重大な判断が必要な場合に限り、確認してください。メッセージ署名、型付きデータ署名、EIP-7702 の認可には、以下に記載する個別のペイロードと使用承認が引き続き適用されます。

読み取り

ローカルでの ABI エンコード/デコードとセレクターの導出は、トランザクションの承認なしで実行できます。チェーン、ブロック、手数料、ノンス、eth_call、eth_estimateGas、トランザクション、レシート、ログ、残高、コード、ストレージ、証明、ENS の読み取りは、トランザクションの準備や検証に必要な読み取りも含め、$evm-atlas に委任してください。後続の作業で状態が変更される可能性があるという理由だけで、読み取りをこのスキルに戻すよう evm-atlas に依頼しないでください。

正確なローカルの構文を確認するには、env -i PATH="$PATH" cast <command> --help を使用してください。Cast のヘルプには、API キーなど、継承された環境変数の値が表示されることがあります。機能の確認時に、認証情報や復号済みの dotenv を読み込まないでください。一般的なローカル操作は次のとおりです。

cast calldata 'transfer(address,uint256)' "$TO" "$AMOUNT"
cast decode-calldata 'transfer(address,uint256)' "$CALLDATA"
準備

署名せずに、チェーン ID、送信元、宛先、関数シグネチャ、引数、calldata、ネイティブ通貨の送金額、ノンス、手数料の前提を確定してください。署名せずに、それらの項目と前提を検証してください。すべてのオンチェーン情報は evm-atlas から取得してください。準備中に鍵の情報を要求または読み込みしないでください。シミュレーションまたはヘルパーの構築を行う前に、「署名とブロードキャスト」に記載された対応済みの署名者を選択してください。いずれかを行う前に、その署名者のコマンド機能を確認してください。

数値で指定したチェックポイントブロックにおける確定済みノンスと、ペンディングノンスの両方を取得してください。両者が異なる場合、またはウォレットが replacement transaction underpriced を報告する場合、確認されていない最小ノンスをキュー内のトランザクションが占有しています。それより後のノンスは、そのトランザクションの背後で停止したままになります。別のトランザクションを後ろにキューイングするのではなく、そのノンスを対象にしてください。ノードの置換時の手数料引き上げ要件を満たす手数料を使用してください。通常は手数料上限とチップの両方を 10~20% 引き上げます。

Ethereum メインネットでは、references/ethereum-gas.md でデフォルトのガスポリシーを定義しています。このポリシーに従う場合は、シミュレーションの前に最新の Rabby slow 見積もりを取得してください。シミュレーションの前に、その EIP-1559 の手数料ペアを確定してください。

ユーザーまたはこのスキルを利用するスキルは、明示的に別のガスポリシーを選択できます。その選択には、残高を正確に全額送金する場合の固定レガシーガス価格が含まれることがあります。その選択に従ってください。別途、ポリシー例外の承認を得る必要はありません。トランザクションレビューには、選択の出典、トランザクションの種類、手数料の値、および制約があればその内容を記録してください。

選択したポリシーをすべての署名者に適用してください。異なる料金帯やトランザクションの種類に、暗黙のうちに置き換えないでください。別のチェーンで Ethereum の手数料値を再利用しないでください。

他のチェーンでポリシーが選択されていない場合は、最新のベースフィーに余裕を加えた EIP-1559 の最大手数料を設定してください。上限に eth_gasPrice を渡すのではなく、2 * baseFee + priorityFee などの値を使用してください。実際の請求額はベースフィーとチップの合計です。正確な上限値を設定すると、署名の前にその値がベースフィーを下回り、レビューのやり直しが必要になることがあります。

チェーン固有のガス計算

トランザクションの種類を選択したり、残高から手数料を差し引いたりする前に、そのチェーンで有効な手数料モデルを特定してください。仕組みの確認には最新の公式プロトコル文書を、対象チェーンのパラメーター、手数料オラクルの呼び出し、見積もり、レシートには $evm-atlas を使用してください。EVM 互換性、ネイティブ通貨のシンボルが ETH であること、レガシートランザクションに対応していることだけでは、Ethereum の手数料の仕組みを採用しているとは判断できません。atlas にないチェーンは未対応です。

対象のトランザクションについて、次の情報を含む公開手数料記録を保持してください。

  • チェーン/チェックポイント、有効なフォーク、情報源
  • トランザクションの種類、ガスの見積もりと上限、価格/上限値
  • 予想される合計手数料
  • 各要素とマージンを含む、事前確保する手数料の準備額
  • 返金の仕組み

見積もりガスに含まれる請求と、ネイティブ通貨の追加の引き落としが発生する請求を特定してください。任意精度の整数演算を使用してください。準備額は切り上げてください。同じ要素を二重に計上したり、予想される返金額を事前の資金要件から差し引いたりしないでください。送金額、calldata、ノンス、トランザクションの種類、ガス、または手数料を変更した場合は、再見積もりしてください。calldata が空の送金でも、シリアライズによって L1 の請求額が変わることがあります。

  • Ethereum 方式の会計: このトランザクションのすべての手数料がガスで賄われることを確認します。レガシー方式では gasLimit * gasPrice、EIP-1559 では gasLimit * maxFeePerGas を確保します。実際のコストには、レシートの gasUsed と effectiveGasPrice を使用します。ネイティブ通貨を残高ちょうどまで送るには、課金価格が固定されていること、ガス使用量が固定されていること、追加の課金やクレジットがないことを示す証拠が必要です。Ethereum 上の未委任 EOA による、calldata が空のレガシー形式の送金では、ガスを正確に 21000 使用できます。この定数をほかの手数料モデルに適用しないでください。

  • Arbitrum Nitro: eth_estimateGas の完全な結果、または atlas 経由で NodeInterface.gasEstimateComponents() を使用します。これには、親チェーンへの投稿手数料を子チェーンのガスに換算した値が含まれます。レビュー済みの価格上限に基づいて、ガスリミット全額を予算に計上します。L1 手数料を二重に加算しないでください。

    Arbitrum Nitro はレガシー形式のトランザクションをサポートしていますが、課金価格は有効な ArbOS バージョンとチップ徴収設定によって異なります。atlas と現在の 手数料プロセッサーで、その動作を確認してください。新しいバージョンでは、チップ徴収を設定できます。チップが無効な場合は、優先手数料をゼロにした EIP-1559 を優先してください。この条件下では、レガシー方式の入札価格と同額の上限価格のどちらも、取り込み時の基本手数料が課金されます。チップが徴収される場合は、有効な実効価格のルールを適用してください。

    課金価格が固定されているだけでは、変動する投稿ガスの要素が固定されるわけではなく、残高ちょうどまで送れることも証明できません。未使用ガスや価格の余裕分を、レビュー済みの残額ポリシーと照合してください。合計コストには、レシートの gasUsed * effectiveGasPrice を使用します。gasUsedForL1 は含まれるガスの要素であり、追加の wei 課金ではありません。ガスと手数料および見積もりを参照してください。

  • OP Stack: 実行ガスに加えて、L1 データ手数料と、有効になっている場合はオペレーター手数料を確保します。atlas 経由で、検証済みの GasPriceOracle に対して、シリアライズ済みの署名前トランザクションを使って getL1Fee(bytes) を問い合わせます。サポートされている場合は、atlas 経由でトランザクションの署名前バイト長を使って getL1FeeUpperBound(uint256) を問い合わせます。これらのインターフェースでは署名のオーバーヘッドが考慮されます。二重に加算しないでください。後者は現在のオラクル価格での実用的なサイズ上限であり、取り込み時の手数料の上限ではありません。

    初期予算の算出には getOperatorFee(gasLimit) を問い合わせます。取り込まれたオペレーター手数料は、取り込み時のフォークのパラメーター、ガス使用量、およびクライアントの正確な丸め・返金のセマンティクスを使って再構成します。Isthmus より前は、オペレーター手数料はありません。Isthmus と Jovian では、異なるスカラー式が使われます。呼び出しの失敗やプロバイダーのフィールド欠落ではなく、フォークや設定の証拠に基づいて、手数料がないことを確認してください。レシートの合計は、実行コスト、l1Fee、オペレーターコストをそれぞれ一度ずつ加算したものです。

    トランザクション手数料、 Fjord オラクル、 Isthmus のオペレーター会計、および Jovian の変更点を参照してください。

  • ZKsync を含むその他のモデル: atlas と公式ドキュメントを通じて、現在のチェーンネイティブの見積もり方法とレシートのセマンティクスを確認します。実際のトランザクションタイプについて、pubdata、リソースオーバーヘッド、カスタムの引き落とし、返金がすべて考慮されることを確認します。チェーンとブラウザーのトランスポートが完全な手数料計上に対応している場合に限り、通常の type 0/2 の送金を使用します。非推奨の見積もり方法に置き換えたり、サポートされている署名経路がないままカスタムのトランザクションフィールドを追加したりしないでください。

    ZKsync の手数料体系には pubdata/オーバーヘッドと返金が含まれます。EVM 互換性があっても、21000 ガスや残高ちょうどまでの会計が保証されるわけではありません。完全な会計を確認できない場合は、不足している要素を示して停止してください。 手数料がトランザクション上限の対象外であるチェーンでは、合計額を推定準備金として表示します。これらのチェーンでは、価格変動のうちカバーされない範囲を明示します。これらのチェーンでは、署名の直前に支払い能力を再確認します。マージンはプロトコルによって強制される上限ではありません。value + upfront fee reserve <= balance を必須とします。通常のガス見積もりや eth_call の成功だけでは、これを証明できません。

最終的なウォレットの手数料変更が許可されている場合は、その値に基づいて、依存する追加手数料と支払い能力を再計算します。準備金によって値が決まるスイープでは、以下の固定手数料の例外に該当するすべてのレビュー済みフィールドを維持する必要があります。

最終的に請求される手数料と送信者の残高には、通常、返金済みまたは未使用のガスがすでに反映されています。再度差し引かないでください。Arbitrum のリトライ可能チケットなど、非同期の返金は別途扱います。入金されるまでは、予定されているクレジットを決して使わないでください。スナップショット時点の残高が恒久的なものだと主張しないでください。

無関係な保留中の返金を見つけることは、通常の送金には暗黙に含まれません。スイープで残高を使い切る場合は、レビューで残高の扱いに関するポリシーと、把握している保留中のクレジットを明示する必要があります。

シミュレーション

送信者、送信先、値、calldata、nonce、トランザクションタイプ、ガス上限、手数料フィールドを維持して、準備したコールを正確にシミュレートします。その後、ガスを見積もります。上限付きの eth_call と eth_estimateGas の証拠は evm-atlas に委任します。RPC エラーが指定されたガスまたはチェックポイント時点の残高と矛盾する場合、atlas に正確なシミュレーション経路を診断させます。トランザクションの無効性やチェーン全体のタイプ対応状況に原因を帰する前に、これを行ってください。

診断用コールを成功させるためにフィールドを変更しても、準備したトランザクションの検証にはなりません。利用ワークフローのシミュレーション要件と、ユーザーが設定した承認ゲートを維持します。シミュレーションで継続的なプロバイダーが必要な場合に限り、「チェーンとプロバイダーの解決」に従って、ローカルフォーク、プロジェクトのシミュレーション、または Cast のトレースを使用します。シミュレーションの成功は証拠となりますが、署名を許可するものではありません。

正確な EIP-7702 シミュレーションに署名済みの認可が必要な場合は、まずリファレンスで承認された認可署名ステージを使用します。トランザクションへの署名とブロードキャストは、引き続きシミュレーションとトランザクションの承認後に行います。

レビュー

トランザクションへの署名またはブロードキャストの前に、次の項目を含む具体的なレビューを1つ提示します。

  • チェーン名とID、RPCソース、使用した最新のブロック、
  • 送信元、送信先、関数、デコード済み引数、calldata、ネイティブトークンの値、
  • nonce、ガス見積もり/上限、手数料の前提、予想総コスト、事前に確保する額、プロトコルで適用される手数料上限、
  • チェーン固有の手数料項目、上限を超える場合の取り込み価格の不確実性、予想される返金または残額、
  • 選択したガスポリシーとそのソース、
  • Rabby Slow の場合、オラクル URL、ティア、見積もり時刻、予想取り込み時間、gas あたりの最大手数料、gas あたりの最大優先手数料、
  • レガシーポリシーの場合、固定ガス価格とトランザクションタイプ、
  • 予想される承認、送金、その他の状態変更、
  • シミュレーションコマンドと結果、
  • 選択した署名者と、シークレットを伏せた正確な署名/ブロードキャストコマンド。

承認済みのコントラクト呼び出しの場合は、### ⏳ Transaction review を先頭に置きます。その呼び出しについては、同じターン内に署名とブロードキャストまで続けます。繰り返し出てくる項目は、簡潔な表にまとめます。正確なコマンドはフェンス付きコードブロックに記載します。その他のトランザクション、または明示的な承認ゲートがある場合は、### ⚠️ Transaction approval required を使用します。こうした場合、既存の承認ですでにカバーされていない限り、具体的なレビューへの確認を得ます。

以下のブラウザーウォレットの例外を除き、レビュー済みの項目が変更された場合は、再度シミュレーションします。この条件に該当する場合は、改訂版のレビューを提示します。改訂内容がユーザーの承認済みの意図と上限の範囲内であれば、続行します。それ以外の場合は、不足している承認を求めます。EIP-7702 の署名には、リファレンスの段階的なレビューを適用します。

ブラウザーでの署名に限り、レビュー済みのガス上限と手数料は初期値です。ただし、利用するワークフローで固定が必要な場合は除きます。ユーザーは、ウォレットの確認 UI でガス上限、ガス価格、gas あたりの最大手数料、または gas あたりの最大優先手数料を意図的に変更できます。最終的なウォレット画面での承認により、編集後のガス設定が承認されたものとします。追加手数料と、それに伴う支払い可能額には、チェーン固有の会計処理を適用します。準備済みの値と異なるという理由だけで、停止したり、二度目の承認を求めたり、再シミュレーションしたりしないでください。

チェーン、送信元、送信先、calldata、ネイティブトークンの値、nonce、承認リスト(存在する場合)、およびデコードされた意図が、承認済みのレビューと引き続き一致する場合にのみ続行します。これらの項目がウォレットで変更された場合は、拒否して改訂版のレビューを提示する必要があります。

エージェントがウォレットのリクエストを確認した場合は、レビュー済みのガス設定を維持します。ユーザーによる編集の例外は、エージェントがウォレットで選択された手数料の変更を受け入れる権限を与えるものではありません。ウォレットで選択された手数料の変更を受け入れる前に、トランザクションを再構築します。変更内容をシミュレーションし、レビューします。

送金額や、ネイティブトークンの残高を正確にゼロにするなど、レビュー済みの別の不変条件が手数料によって決まる場合、ブラウザーの例外は適用されません。レビュー済みのトランザクションタイプ、ガス上限、手数料の値を維持します。ウォレットでこれらの項目が変更された場合は、署名前に拒否します。この条件に該当する場合は、依存する値を再計算します。その後、シミュレーションします。上記の改訂版レビューの承認ルールを適用します。

署名とブロードキャスト

ブラウザーの機能チェックと送信者の処理については、references/browser-signing.mdをお読みください。 署名リクエストを開くのは、レビュー後かつ上記で定められた権限の範囲内に限ってください。ユーザーまたは利用するスキルが署名者を制限していない限り、ブラウザー、暗号化キーストア、ハードウェアウォレットの順に優先してください。ブラウザー署名を利用できない場合、ブラウザーのみを使用するワークフローは停止してください。そのワークフローで別の署名者に置き換えてはいけません。

リポジトリまたは利用するスキルに署名ヘルパーやブロードキャストヘルパーが用意されている場合は、ブラウザー署名より先にそのヘルパーを使用してください。署名者に関するユーザーの制限は引き続き適用されます。シミュレーションの前に、選択した署名者を明示してください。

環境変数から取得する秘密鍵を使用できるのは、ユーザーが明示的に許可した場合、またはより安全な方法が利用できない場合に限ります。チャットで秘密鍵を尋ねたり、表示したりしてはいけません。

cast sendは、1つのコマンドで署名とブロードキャストを行います。実行が許可されている場合は、レビュー後に実行してください。Cast 1.8.3以降の以下のヘルパーも署名とブロードキャストを行います。

  • cast erc20-token transfer|approve|mint|burn、
  • cast erc20-token permit --broadcast、
  • cast erc4626 deposit|mint|withdraw|redeem、
  • cast safe propose|sign|execute。

これらのヘルパーにも、Prepare、Simulate、Reviewの各フェーズを同様に適用してください。Safeの提案または確認は署名アーティファクトであり、独自にペイロードをレビューする必要があります。インストール済みのヘルプに署名または送信を行うと示されている他のサブコマンド(cast safe create、add-delegate、remove-delegateなど)も同様に扱ってください。Cast 1.8.4以降のTempoコマンドcast tip20-token grant-role|revoke-roleおよびcast tempo zone deposit|withdrawもこれに含まれます。メッセージまたは型付きデータへの署名についても、--broadcastを付けないcast erc20-token permitを含め、承認前に正確なペイロード、ドメイン、チェーンとの紐付け、意図する用途をレビューする必要があります。

選択した手数料を明示的に指定してください。EIP-1559では--gas-priceと--priority-gas-priceを使用します。固定のレガシーポリシーでは、--priority-gas-priceを指定せずに--legacy --gas-priceを使用します。デフォルトのEthereumポリシーでは、レビュー済みのRabby Slowの組み合わせを使用してください。

署名者を開く前に、アクティブなチェーンで必要なガスと追加手数料を再確認してください。署名者を開く前に、該当する場合は、レビュー済みの上限またはレガシーのガス価格が現在のベースフィーをカバーしていることを再確認してください。署名前に手数料を変更する必要がある場合は、再度シミュレーションしてください。その場合は、改訂した内容を提示してレビューを受けてください。選択したポリシーを黙って変更してはいけません。

ウォレットでの手数料編集には、固定手数料の例外を含め、Reviewを適用してください。メッセージおよび型付きデータへの署名ではガスを消費しません。

ブロードキャスト後、トランザクションハッシュを記録してください。レビュー済みのチェーン上でレシートをevm-atlasに検証させてください。レシートがまだ保留中の場合、evm-atlasはRouteMeshのnewHeadsサブスクリプションを1回に限り使用して次のブロックを待ち、その後に再確認できます。レシートの検証は引き続き必須です。保留中のトランザクションやログの通知だけでは、トランザクションを確認したことにはなりません。追加のレシート構成要素と返金を含め、二重計上せずに、アクティブなチェーンのモデルに従って実際の手数料を照合してください。

手数料の証拠が不足している場合、会計は未完了です。手数料がゼロであることの証明にはなりません。成功したレシートについては### ✅ Transaction confirmed、マイニングされた失敗については### ↩ Transaction revertedの下に、ステータス、ブロック、使用ガス、実際の合計手数料またはその正確な証拠不足の内容、エクスプローラーのリンクを報告してください。結果が不明確な場合は、### ⛔ Broadcast unresolved — do not retryを先頭に記載してください。その場合は、まだ必要な証拠を明記してください。

失敗または不確かなブロードキャストは、トランザクションが存在するかどうかを先に確認せずに再試行してはいけません。ブラウザーウォレットで署名する場合は、何も送信されなかったと結論づける前に、references/browser-signing.mdの「Timing」および「Recovering」セクションをお読みください。プロセスが強制終了された場合やタイムアウトした場合でも、ブロードキャストされなかった証明にはなりません。ウォレットとのやり取りはコマンドの実行時間を超えることがあります。ウォレットが独自のRPCプロバイダーを通じてブロードキャストしている可能性があります。

停止条件

署名者、送信者、チェーン、宛先、またはデコードされた意図が未解決の場合は、署名する前に停止してください。トランザクションに署名するには、手数料の計算、支払い能力、シミュレーションも解決済みである必要があります。明示的に承認された EIP-7702 の認可ステージのみ、これらのトランザクションチェックに先行できます。その認可ペイロード、署名者、意図された用途は、すでに解決済みでなければなりません。レビューでは、適用される上限と推定準備額を区別する必要があります。

編集したガス設定に対するブラウザーでの承認は、その設定を承認するものですが、省略されたチェーン固有の手数料が賄われることを保証するものではありません。

ブロードキャストの結果が不明確な場合は、再試行する前に停止してください。完了とみなすには、次のいずれかの結果が必要です。

  • 検証済みの読み取り結果
  • ローカルでのエンコード結果
  • 承認済みの署名アーティファクト
  • evm-atlas が検証し、ユーザーが承認したブラウザーウォレットのガス設定を除き、レビュー済みのトランザクションと一致する、マイニング済みのレシート

アドレス、calldata、署名、ハッシュ、RPC URL、手数料の値、コマンド、安全に関する文言を加工したり、省略したりしてはいけません。 取り消しの完了には、references/eip7702.md に記載された認可チェックとクリア済みコードのチェックも必要です。

コメント