Communitygithub.com

Programmable V4 Hook Builder

Offene Launch-Modell-Infrastruktur für Uniswap v4 auf Ethereum.

Was ist Programmable V4 Hook Builder?

Der Skill "Programmable V4 Hook Builder" bietet eine deterministische Zustandsmaschine zur Erstellung und Einreichung von Uniswap v4 Hook-Projekten auf Ethereum. Er ersetzt die veralteten Registry- und GitHub-Eingabemethoden durch einen öffentlichen V3-Vertrag, der eine überprüfbare, revisionsgebundene Launch-Anfrage ermöglicht. Der Skill unterstützt die CLI-basierte Paketierung, Validierung und Einreichung, wobei er sich auf exakte Source-Bindung, Byte-Identität und einen unveränderlichen Vertrag zwischen CLI und API verlässt. Entwickler müssen exakte Solidity-Standard-JSON-Source, Compiler-Ausgaben, CREATE2-Graphen, Hook-Berechtigungen und Finanzierungsnachweise sammeln, bevor sie den deterministischen Befehlspfad (pack → validate → submit → wallet → status) durchlaufen. Der Skill betont, dass lokale Prüfungen nur Vorbereitung sind; die endgültige Zulassung erfolgt durch serverseitige exakte Source-Prüfung und Router-Simulation. Er behandelt präzise Statusübergänge (pending_review, action_required, awaiting_funding_authorization, authorized, submitted, finalized) und lehnt private Schlüssel oder Broadcasts ab. Der Skill ist für Entwickler gedacht, die programmierbare, projekt eigene Multi-Vertrags-Graphen mit allen 14 Hook-Berechtigungsbits bereitstellen möchten, warnt jedoch, dass die Kompatibilität nicht universell ist und dass die tatsächliche Liquidität und Gebührenstruktur vom Projekt implementiert und offengelegt werden müssen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add programmablehq/PROGRAMMABLE

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Programmable V4 Hook Builder?

Verwenden Sie den öffentlichen V3-Vertrag, um eine exakte Projektversion in eine deterministische Launch-Anfrage umzuwandeln. Verwenden Sie nicht die veraltete Registry oder die GitHub-Eingabe. Gehen Sie nicht davon aus, dass Installation, Validierung, Einreichung, Wallet-Broadcast, Finalität, Indexierung oder Quellverifizierung denselben Zustand darstellen.

Den aktuellen öffentlichen Vertrag festlegen

Bevor Sie das Projekt ändern oder nach einem Geheimnis fragen:

  1. Rufen Sie https://programmable.market/.well-known/programmable.json ab.
  2. Folgen Sie customLaunchApi.agentIntegration zum beworbenen Remediationskatalog, Pack-Konfigurationsschema, Leitfaden, OpenAPI-Dokument, Capabilities-Route und unveränderlichen CLI-Release.
  3. Überprüfen Sie das CLI-Tarball mit seinem veröffentlichten Prüfsummen-Sidecar vor der Installation.
  4. Rufen Sie den unauthentifizierten GET https://api.programmable.market/v3/capabilities auf.
  5. Stoppen Sie, wenn die Profil-ID, Revision, Version, Produktionsautorisierung, Routen, Scopes, Authentifizierungsgrenze oder Wallet-Übergabebasis vom installierten CLI-Vertrag abweicht. Führen Sie niemals ein Downgrade durch oder improvisieren Sie bei Abweichungen.

Authentifizierter CLI-Traffic ist auf die exakte Herkunft https://api.programmable.market festgelegt. Es gibt keine Herkunftsüberschreibung. Tests verwenden einen injizierten Transport und leiten niemals einen Produktions-API-Schlüssel um.

Lesen Sie references/public-v3-contract.md, bevor Sie ein Projekt bearbeiten oder einreichen.

Das exakte Projekt erstellen

Überprüfen Sie die Anweisungen des Repositoriums und bewahren Sie nicht zusammenhängende Arbeiten. Fixieren Sie eine öffentliche Quellrevision, die die exakten eingereichten Bytes enthält. Erstellen Sie den tatsächlichen Graphen, anstatt das Projekt in eine Beispielarchitektur zu pressen.

Sammeln und binden Sie:

  • Projektname, Token-Symbol, Beschreibung, ein exaktes quellgebundenes Bild und sortierte kanonische öffentliche Links;
  • exakten Solidity Standard JSON-Quellinhalt und passende Compiler-Ausgabe;
  • vollständige solc-Version, Optimierer- und EVM-Einstellungen, Bibliotheken, ABI, Erstellungs-/Laufzeit-Bytecode, Metadaten und Konstruktor- oder Initialisierungsargumente;
  • jeden direkten CREATE2-Ziel- und Abhängigkeitsknoten im Launch-Graphen;
  • die echte v4-Hook-Berechtigungsmaske und konkrete erreichbare Implementierung für jeden aktivierten Callback;
  • Finanzierungsmodus, Initial-Liquiditätsmodell, Verwahrung, Auszahlungspfad, Lock-Nachweis, LP-Gebühr, Projektgebühr und die erforderliche Programmable 10 Bps-Abrechnungsoffenlegung;
  • Nachweise für jede vom Antrag behauptete Prüfung.

Leiten Sie keinen abgeleiteten Digest, keine Adresse, keinen Locator, keine CREATE2-Vorhersage, kein Graph-Commitment und keinen Verifizierungs-Hash manuell ab. Die CLI leitet diese aus exakten Dateien ab. Behaupten Sie nicht, dass eine Prüfung bestanden wurde, ohne den zugrunde liegenden Nachweis.

Die deterministische Zustandsmaschine verwenden

Die einzige Befehlsreihenfolge ist:

pack
validate --remote
submit
status --watch --until authorized
wallet
status --watch --until finalized

wallet ist kein CLI-Befehl. Es ist ein Halt für den verbundenen Controller, um die exakte Website-Übergabe zu überprüfen und separat zu signieren. Einige EIP-3009-Launches halten zuerst bei awaiting_funding_authorization an; führen Sie in der Website nur diese exakte typisierte Datensignatur aus, fragen Sie erneut ab, und halten Sie dann separat für die Router-Transaktion bei authorized an.

Die CLI muss:

  • den API-Schlüssel nur aus PROGRAMMABLE_API_KEY oder dem unterstützten Betriebssystem-Geheimnisspeicher lesen;
  • byte-idente Anfragebytes und denselben dauerhaften Idempotency-Key über Wiederholungen hinweg beibehalten;
  • Retry-After bei 429 und 503 beachten;
  • bei terminalen Zuständen anhalten;
  • niemals einen privaten Schlüssel anfordern, signieren oder senden.

Serverseitige exakte Source-Statikzulassung und die endgültige Router-Simulation sind maßgeblich für die Launch-Zulassung. Lokale Packer- oder Modellprüfungen sind Vorbereitung, nicht die endgültige Entscheidung. Beschreiben Sie niemals eine der beiden Ebenen als Audit oder Garantie für Sicherheit, Liquidität, Handelbarkeit, Honeypot-Resistenz oder späteres Gebührenverhalten.

Ergebnisse präzise behandeln

  • pending_review: Fortsetzen der Einzelressourcen-Statusabfrage.
  • action_required: Lesen Sie den typisierten Befund und die Abhilfe; ändern Sie die exakte Quelle oder die Nachweise und erstellen Sie dann ein neues Pack. Umgehen Sie den Befund nicht.
  • awaiting_funding_authorization: Halten Sie an für die exakte Website-Finanzierungssignatur-Übergabe.
  • authorized: Halten Sie an für die Controller-Überprüfung von Chain, Sender, Router, Wert, Selektor, Calldata und Metadaten.
  • submitted: Fragen Sie dieselbe Ressource ab; ein Transaktions-Hash allein ist keine Finalität.
  • finalized: Melden Sie den Onchain-Launch getrennt von Indexierung und exakter Source-Verifizierung.
  • failed oder cancelled: Halten Sie an und melden Sie den dauerhaften Fehlercode und die Anfrage-ID, ohne den API-Schlüssel offenzulegen.

Behaupten Sie niemals universelle Hook-Kompatibilität. Das öffentliche Profil unterstützt projekt eigene Multi-Vertrags-Graphen und alle vierzehn Berechtigungsbits strukturell, aber der exakte Build kann dennoch nicht unterstützt werden, Nachweise benötigen, bei der Simulation fehlschlagen oder Projektänderungen erfordern. Die normale Pool-Initialisierung fügt keine Initialliquidität hinzu; eine benutzerdefinierte Buchhaltung oder Launch-gesäte Liquidität muss vom Projekt implementiert und offengelegt werden.

Verifizierung und Übergabe

Führen Sie fokussierte Projekttests, deterministisches Packen, lokale Validierung, entfernten Preflight und git diff --check durch. Für eine Probe ohne Broadcast halten Sie vor submit an. Für eine echte Einreichung geben Sie dem Benutzer die Anfrage-ID, den aktuellen dauerhaften Status und die sichere Wallet-Übergabe-URL nur dann, wenn sie von dieser exakten Ressource zurückgegeben wird.

Bezeichnen Sie Arbeiten nicht als live aus lokalen Prüfungen, CI, einer vorbereiteten Antwort oder HTTP 200. Trennen Sie Quellrevision, CLI-Artefakt, Serverzulassung, Wallet-Aktion, Onchain-Finalität, Discovery/Indexierung und exakten Source-Provider-Zustand in der endgültigen Übergabe.

Nur für Maintainer bestimmte Ressourcen

references/eval-corpus.md ist das vorwärtsauslösende und adversarial Evaluierungsset für Skill-Maintainer; es ist keine Laufzeitanweisung. Die folgenden Dateien gehören zur veralteten GitHub-Eingabe und dürfen für einen V3-Launch nicht gelesen oder aufgerufen werden: 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 und scripts/submission-core.mjs.

Verwandte Skills