Programmable V4 Hook Builder
公開 V3 マシンコントラクトを使用して、正確なプロジェクトリビジョンを決定論的な起動リクエストに変換します。廃止されたレジストリや GitHub 提出受付は使用しないでください。インストール、検証、提出、ウォレットブロードキャスト、ファイナリティ、インデキシング、またはソース検証が同じ状態であると推測しないでください。
現在の公開コントラクトを確立する
プロジェクトを変更したり、秘密情報を要求したりする前に:
https://programmable.market/.well-known/programmable.jsonを取得します。customLaunchApi.agentIntegrationに従って、公開されている修正カタログ、pack-config スキーマ、ガイド、OpenAPI ドキュメント、機能ルート、および不変の CLI リリースにアクセスします。- インストール前に、公開されたチェックサムサイドカーを使用して CLI tarball を検証します。
- 認証なしで
GET https://api.programmable.market/v3/capabilitiesを取得します。 - プロファイル ID、リビジョン、バージョン、プロダクション認可、ルート、スコープ、認証境界、またはウォレットハンドオフベースがインストールされた CLI コントラクトと異なる場合は停止します。ドリフトを回避するためにダウングレードしたり、即興で対応したりしないでください。
認証された CLI トラフィックは、正確なオリジン https://api.programmable.market に固定されます。オリジンオーバーライドはありません。テストにはインジェクトされたトランスポートを使用し、プロダクション API キーをリダイレクトすることはありません。
プロジェクトを編集または提出する前に、references/public-v3-contract.md をお読みください。
正確なプロジェクトをビルドする
リポジトリの指示を確認し、無関係な作業は保持します。送信された正確なバイトを含む、1 つの公開ソースリビジョンを固定します。プロジェクトをサンプルアーキテクチャに適合させるのではなく、実際のグラフをビルドします。
以下を収集してバインドします:
- プロジェクト名、トークンシンボル、説明、正確なソースにバインドされた画像、およびソートされた正規の公開リンク;
- 正確な Solidity Standard JSON ソースコンテンツと一致するコンパイラ出力;
- 完全な solc バージョン、オプティマイザーおよび EVM 設定、ライブラリ、ABI、作成/ランタイムバイトコード、メタデータ、およびコンストラクタまたはイニシャライザ引数;
- 起動グラフ内のすべての直接の CREATE2 ターゲットと依存関係エッジ;
- 実際の v4 フック許可マスクと、有効化された各コールバックに対する具体的な到達可能な実装;
- 資金調達モード、初期流動性モデル、カストディ、引き出しパス、ロックエビデンス、LP 手数料、プロジェクト手数料、および必要な Programmable 10 bps 会計開示;
- リクエストによって主張されるすべてのチェックのエビデンス。
派生したダイジェスト、アドレス、ロケーター、CREATE2 予測、グラフコミットメント、または検証ハッシュを手動で作成しないでください。CLI はこれらを正確なファイルから導出します。基礎となるエビデンスなしにチェックが合格したと主張しないでください。
決定論的ステートマシンを使用する
唯一のコマンド順序は次のとおりです:
pack
validate --remote
submit
status --watch --until authorized
wallet
status --watch --until finalized
wallet は CLI コマンドではありません。接続されたコントローラーが正確なウェブサイトハンドオフを検査し、個別に署名するための停止ポイントです。一部の EIP-3009 起動は、最初に awaiting_funding_authorization で停止します。ウェブサイトでその正確な型付きデータ署名のみを完了し、再度ポーリングしてから、authorized で Router トランザクションのために個別に停止します。
CLI は以下を行う必要があります:
- API キーを
PROGRAMMABLE_API_KEYまたはサポートされているオペレーティングシステムのシークレットストアからのみ読み取る; - リトライ間でバイト同一のリクエストバイトと同じ永続的な Idempotency-Key を保持する;
429および503でRetry-Afterを尊重する;- 終端状態で停止する;
- 秘密鍵を要求したり、署名したり、ブロードキャストしたりしない。
サーバー側の正確なソース静的受理と最終的な Router シミュレーションが、起動受理に対して権威を持ちます。ローカルパッケージャーまたはモデルチェックは準備であり、最終決定ではありません。いずれかのレイヤーを監査、安全性、流動性、トレード可能性、ハニーポット耐性、またはその後の手数料動作の保証として説明しないでください。
結果を正確に処理する
pending_review: 単一リソースのステータスポーリングを続行します。action_required: 型付きの調査結果と修正を読みます。正確なソースまたはエビデンスを変更し、新しいパックを作成します。調査結果をバイパスしないでください。awaiting_funding_authorization: 正確なウェブサイトの資金調達署名ハンドオフのために停止します。authorized: チェーン、送信者、Router、値、セレクター、calldata、およびメタデータのコントローラーレビューのために停止します。submitted: 同じリソースをポーリングします。トランザクションハッシュだけではファイナリティになりません。finalized: オンチェーンでの起動を、インデキシングおよび正確なソース検証とは別に報告します。failedまたはcancelled: 停止し、API キーを公開せずに、永続的なエラーコードとリクエスト ID を報告します。
ユニバーサルフック互換性を決して主張しないでください。公開プロファイルは、プロジェクト所有のマルチコントラクトグラフと 14 個すべての許可ビットを構造的にサポートしていますが、正確なビルドが依然としてサポートされていない可能性、エビデンスが必要な可能性、シミュレーションに失敗する可能性、またはプロジェクトの変更が必要な可能性があります。通常のプール初期化は初期流動性を追加しません。カスタム会計または起動時にシードされた流動性は、プロジェクトによって実装および開示される必要があります。
検証とハンドオフ
フォーカスされたプロジェクトテスト、決定論的パック、ローカル検証、リモート事前チェック、および git diff --check を実行します。ブロードキャストなしのリハーサルの場合は、submit の前に停止します。実際の提出の場合は、その正確なリソースによって返された場合にのみ、ユーザーにリクエスト ID、現在の永続状態、および安全なウォレットハンドオフ URL を提供します。
ローカルチェック、CI、準備された応答、または HTTP 200 からの作業をライブで呼び出さないでください。最終的なハンドオフでは、ソースリビジョン、CLI アーティファクト、サーバー受理、ウォレットアクション、オンチェーンファイナリティ、ディスカバリー/インデキシング、および正確なソースプロバイダー状態を分離します。
メンテナーのみのリソース
references/eval-corpus.md は、スキルメンテナー向けのフォワードトリガーおよび敵対的評価セットです。これはランタイム命令ではありません。以下のファイルは廃止された GitHub 受付に属し、V3 起動のために読み取ったり呼び出したりしてはなりません: scripts/application-input-contract.mjs、scripts/autonomous-admission-contract.mjs、scripts/cli-runtime.mjs、scripts/github-exact-object-resolver.mjs、scripts/github-public-source-core.mjs、scripts/official-launchpad-core.mjs、scripts/package-dependency-contract.mjs、scripts/public-claims-core.mjs、scripts/review-target-contract.mjs、および scripts/submission-core.mjs。