Communitygithub.com

Programmable V4 Hook Builder

Infraestructura de lanzamiento abierta para Uniswap v4 en Ethereum mediante el contrato público V3.

¿Qué es Programmable V4 Hook Builder?

Esta skill implementa una máquina de estados determinista para construir y lanzar proyectos en Uniswap v4 usando el contrato público V3 de Programmable. Reemplaza el obsoleto sistema de envío por GitHub y Registry, orquestando desde la obtención del contrato público y la compilación exacta del proyecto hasta la firma segura por wallet y finalización en cadena. Soporta creación de tokens, hooks con los 14 bits de permisos, liquidez inicial, custody y tarifas, verificando cada paso con evidencia reproducible. Compatible con Claude Code, Cursor y otros agentes que respeten el flujo determinista pack → validate → submit → wallet → status, usando solo PROGRAMMABLE_API_KEY y nunca solicitando claves privadas ni firmando transacciones.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add programmablehq/PROGRAMMABLE

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Programmable V4 Hook Builder?

Usa el contrato público de la máquina V3 para convertir una revisión exacta del proyecto en una solicitud de lanzamiento determinista. No uses el obsoleto Registry ni el sistema de envío por GitHub. No infieras que la instalación, validación, envío, difusión de wallet, finalización, indexación o verificación de fuente exacta son el mismo estado.

Establecer el contrato público actual

Antes de modificar el proyecto o solicitar un secreto:

  1. Obtén https://programmable.market/.well-known/programmable.json.
  2. Sigue customLaunchApi.agentIntegration hasta el catálogo de remediación, esquema pack-config, guía, documento OpenAPI, ruta de capacidades y release CLI inmutable.
  3. Verifica el tarball CLI con su checksum publicado antes de instalar.
  4. Obtén GET https://api.programmable.market/v3/capabilities sin autenticación.
  5. Detente si el ID de perfil, revisión, versión, autorización de producción, rutas, alcances, límite de autenticación o base de traspaso de wallet difieren del contrato CLI instalado. Nunca degradues ni improvises alrededor de la deriva.

El tráfico CLI autenticado se fija al origen exacto https://api.programmable.market. No hay anulación de origen. Las pruebas usan un transporte inyectado y nunca redirigen una clave API de producción.

Lee references/public-v3-contract.md antes de editar o enviar un proyecto.

Construir el proyecto exacto

Inspecciona las instrucciones del repositorio y preserva el trabajo no relacionado. Fija una revisión de fuente pública que contenga los bytes exactos enviados. Construye el grafo real en lugar de ajustar el proyecto a una arquitectura de ejemplo.

Recopila y vincula:

  • nombre del proyecto, símbolo del token, descripción, una imagen exacta vinculada a la fuente y enlaces públicos canónicos ordenados;
  • contenido exacto de la fuente JSON de Solidity Standard y la salida del compilador correspondiente;
  • versión completa de solc, configuración del optimizador y EVM, librerías, ABI, bytecode de creación/ejecución, metadatos y argumentos del constructor o inicializador;
  • cada objetivo CREATE2 directo y arista de dependencia en el grafo de lanzamiento;
  • la máscara real de permisos del hook v4 y la implementación concreta alcanzable para cada callback habilitado;
  • modo de financiación, modelo de liquidez inicial, custodia, ruta de retiro, evidencia de bloqueo, tarifa LP, tarifa del proyecto y la divulgación contable requerida de Programmable 10 bps;
  • evidencia para cada verificación reclamada por la solicitud.

No escribas manualmente un resumen derivado, dirección, localizador, predicción CREATE2, compromiso de grafo o hash de verificación. La CLI deriva estos de los archivos exactos. No afirmes que una verificación pasó sin su evidencia subyacente.

Usar la máquina de estados determinista

El único orden de comandos es:

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

wallet no es un comando de CLI. Es una parada para que el controlador conectado inspeccione y firme por separado el traspaso exacto del sitio web. Algunos lanzamientos EIP-3009 se detienen primero en awaiting_funding_authorization; completa solo esa firma de datos tipados exacta en el sitio web, consulta de nuevo, luego detente por separado para la transacción Router en authorized.

La CLI debe:

  • leer la clave API solo de PROGRAMMABLE_API_KEY o el almacén de secretos del sistema operativo compatible;
  • preservar bytes de solicitud idénticos y la misma clave de idempotencia duradera en los reintentos;
  • honrar Retry-After en 429 y 503;
  • detenerse en estados terminales;
  • nunca solicitar una clave privada, firmar ni difundir.

La admisión estática de fuente exacta del lado del servidor y la simulación final del Router son autoritativas para la admisión del lanzamiento. Las comprobaciones del empaquetador local o del modelo son preparación, no la decisión final. Nunca describas ninguna de las capas como una auditoría o una garantía de seguridad, liquidez, comerciabilidad, resistencia a honeypots o comportamiento de tarifas posterior.

Manejar los resultados con precisión

  • pending_review: continúa sondeando el estado de un solo recurso.
  • action_required: lee el hallazgo tipado y la remediación; cambia la fuente exacta o la evidencia, luego crea un nuevo pack. No omitas el hallazgo.
  • awaiting_funding_authorization: detente para el traspaso exacto de la firma de financiación del sitio web.
  • authorized: detente para que el controlador revise la cadena, remitente, Router, valor, selector, calldata y metadatos.
  • submitted: sondea el mismo recurso; un hash de transacción por sí solo no es finalización.
  • finalized: reporta el lanzamiento en cadena por separado de la indexación y la verificación de fuente exacta.
  • failed o cancelled: detente y reporta el código de error duradero y el ID de solicitud sin exponer la clave API.

Nunca afirmes compatibilidad universal de hooks. El perfil público admite gráficos de múltiples contratos propiedad del proyecto y los catorce bits de permisos estructuralmente, pero la compilación exacta aún puede no ser compatible, necesitar evidencia, fallar en la simulación o requerir cambios en el proyecto. La inicialización normal de pool no añade liquidez inicial; la contabilidad personalizada o la liquidez sembrada en el lanzamiento debe ser implementada y divulgada por el proyecto.

Verificación y traspaso

Ejecuta pruebas enfocadas del proyecto, empaquetado determinista, validación local, verificación previa remota y git diff --check. Para un ensayo sin difusión, detente antes de submit. Para un envío real, entrega al usuario el ID de solicitud, el estado duradero actual y la URL segura de traspaso de wallet solo cuando sean devueltos por ese recurso exacto.

No llames trabajo en vivo desde comprobaciones locales, CI, una respuesta preparada o HTTP 200. Separa la revisión de fuente, artefacto CLI, admisión del servidor, acción de wallet, finalización en cadena, descubrimiento/indexación y estado del proveedor de fuente exacta en el traspaso final.

Recursos solo para mantenedores

references/eval-corpus.md es el conjunto de evaluación adversarial y de activación directa para los mantenedores de la skill; no es una instrucción de ejecución. Los siguientes archivos pertenecen al sistema obsoleto de envío por GitHub y no deben ser leídos ni invocados para un lanzamiento 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 y scripts/submission-core.mjs.

Skills relacionados