From 487b16a87987b960169a2c3070950d452cca662b Mon Sep 17 00:00:00 2001 From: Programmable <309941960+0xprogrammable@users.noreply.github.com> Date: Wed, 29 Jul 2026 03:44:10 +0200 Subject: [PATCH] Refresh repository overview --- .github/ISSUE_TEMPLATE/contract-issue.yml | 9 +-- ARCHITECTURE.md | 6 +- MODELS.md | 8 --- README.md | 79 +++++++++++++--------- assets/programmable-repository-cover.jpg | Bin 842797 -> 623788 bytes models/adaptive/README.md | 48 ------------- 6 files changed, 52 insertions(+), 98 deletions(-) delete mode 100644 models/adaptive/README.md diff --git a/.github/ISSUE_TEMPLATE/contract-issue.yml b/.github/ISSUE_TEMPLATE/contract-issue.yml index 63c6de3b..935bd2ca 100644 --- a/.github/ISSUE_TEMPLATE/contract-issue.yml +++ b/.github/ISSUE_TEMPLATE/contract-issue.yml @@ -6,14 +6,11 @@ body: attributes: value: | Do not disclose a vulnerability here. Use private vulnerability reporting for security-sensitive findings. - - type: dropdown + - type: input id: release attributes: - label: Release - options: - - Classic - - Unreleased main branch - - Other + label: Model or release + placeholder: Model name, version or unreleased main branch validations: required: true - type: input diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 13ee0fbd..ee05cc15 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -3,10 +3,8 @@ Programmable is organized around independent launch models. Each model defines its own pool rules, hook permissions, fee accounting, liquidity custody and security properties. -## Models - -- [Classic](models/classic/README.md) is the available fixed-supply launch model. -- [Adaptive](models/adaptive/README.md) is the fee-curve model in development. +[`MODELS.md`](MODELS.md) is the canonical catalog. Model-specific behavior belongs in the relevant directory under +[`models/`](models/) rather than in this document. ## Release structure diff --git a/MODELS.md b/MODELS.md index 3135c413..72926b81 100644 --- a/MODELS.md +++ b/MODELS.md @@ -6,7 +6,6 @@ accounted for. | Model | Status | Documentation | | --- | --- | --- | | Classic | Available | [Read the Classic documentation](models/classic/README.md) | -| Adaptive | In development | [Read the Adaptive design](models/adaptive/README.md) | | Deep | In development | [Read the Deep design](models/deep/README.md) | ## Classic @@ -16,13 +15,6 @@ position, and a disclosed fee is collected on the ETH side of swaps. [Behavior, fees, contracts and deployment evidence](models/classic/README.md) -## Adaptive - -Adaptive introduces an immutable fee curve selected at launch. The displayed swap fee changes automatically as the -pool moves through published onchain value bands. - -[Design and release requirements](models/adaptive/README.md) - ## Deep Deep directs the creator fee share into add-only liquidity for the launch pool until an immutable target is reached. diff --git a/README.md b/README.md index 95873707..d9655b6a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@
Open source launch models for Uniswap v4 on Ethereum.
+Launch tokens that work the way you imagine.
Launch ยท @@ -28,50 +28,64 @@
-Programmable is a launchpad for tokens whose market behavior lives in Uniswap v4. Creators choose a launch model, set -the token details and launch without writing Solidity. +Programmable is an interface and open launch-model infrastructure for Uniswap v4. Creators choose a published model, +set the token details and launch from their wallet without writing Solidity. -This repository contains the contracts behind every published model. Each available release includes its exact source, -tests, security documentation and Ethereum deployment record. +Models may be built by Programmable or independent builders. This repository is the public record behind them. It +contains the contracts, tests, security assumptions and deployment evidence for every release available through the +interface. -Independent builders can submit complete launch models through the -[Hook Builder Program](BUILDER_PROGRAM.md). Submissions are reviewed before any model is accepted or released. +## How it works -## Launch models +A launch model defines how a token is created, how its Uniswap v4 pool is initialized, how fees are accounted for, how +liquidity is held and which behaviors belong in the hook. The interface turns those rules into a clear setup flow. -| Model | Pool behavior | Status | -| --- | --- | --- | -| [Classic](models/classic/README.md) | Fixed supply, locked one-sided liquidity and creator fees paid in ETH | Available | -| [Adaptive](models/adaptive/README.md) | An immutable swap-fee curve linked to onchain value | In development | -| [Deep](models/deep/README.md) | Creator fees build locked main-pool liquidity to a fixed target before beneficiary routing begins | In development | +Each model is versioned independently. A release keeps its own source, parameters, tests, security notes and Ethereum +deployment record, so users and integrators can inspect the exact implementation behind a launch. -[`MODELS.md`](MODELS.md) contains the full catalog and release requirements. +## Model library -## What is published +[`MODELS.md`](MODELS.md) is the canonical catalog. Detailed documentation lives under [`models/`](models/), with links +to the exact contracts, tests, specifications and deployment evidence for each release. -Every available model includes: +Each model has its own directory and release record. Browse the catalog to see what is available and what is still in +development. -- the hook and supporting contract sources; -- unit, integration, fuzz and invariant tests; -- compiler and dependency versions; -- security assumptions and known limitations; and -- Ethereum addresses, deployment transactions and runtime code hashes. +## Build a model -Classic is live on Ethereum. Its [model documentation](models/classic/README.md) links each deployed contract to -Etherscan. Machine-readable deployment evidence is in -[`deployments/ethereum.json`](deployments/ethereum.json). +Programmable is not limited to launch models built by its maintainers. Independent builders can submit complete, +open-source Uniswap v4 launch models as pull requests. + +A submission includes the contracts, tests, documentation, security assumptions and builder beneficiary address. A +pull request does not guarantee acceptance or deployment. Accepted hook creators receive 0.10% of the trading volume +from every token launched with that exact model version. + +[Read the Hook Builder Program](BUILDER_PROGRAM.md) + +## Release standard + +A model is marked `Available` only when the repository contains: + +1. the exact hook and supporting contract sources; +2. unit, integration, fuzz and invariant coverage where applicable; +3. fixed compiler and dependency versions; +4. security assumptions and known limitations; and +5. Ethereum addresses, deployment transactions, source verification and runtime code hashes. + +Open source publication makes behavior inspectable. It is not a security guarantee. ## Repository ```text -models/ Behavior, economics and security notes for each launch model -src/ Exact Solidity sources for deployed contracts +models/ Model behavior, economics, security notes and acceptance records +src/ Exact Solidity sources test/ Unit, integration, fuzz, invariant and regression tests deployments/ Ethereum addresses, transactions and runtime code hashes -spec/ Machine-readable contract parameters +spec/ Machine-readable release parameters scripts/ Reproducible dependency bootstrap +ARCHITECTURE.md Repository and release structure BUILDER_PROGRAM.md External model submission and participation terms -SECURITY.md Repository security policy and current contract status +SECURITY.md Security policy and current contract status ``` Deployed Solidity sources remain at their original paths so published verification records stay reproducible. @@ -87,13 +101,14 @@ forge build FOUNDRY_PROFILE=ci forge test ``` -The contracts use Solidity `0.8.26`, Cancun opcodes, optimizer runs set to `1,000`, and disabled CBOR metadata. See -[`foundry.toml`](foundry.toml) for the complete compiler configuration. +Current compiler settings are recorded in [`foundry.toml`](foundry.toml). Model-specific parameters and dependency +versions are recorded under [`spec/`](spec/). ## Security -Classic has unit, integration, fuzz, invariant and regression coverage. It has not received an independent -smart-contract audit or public security contest. Read [`SECURITY.md`](SECURITY.md) before integrating. +Security status is documented per model. The currently available contracts have unit, integration, fuzz, invariant and +regression coverage, but have not received an independent smart-contract audit or public security contest. Read +[`SECURITY.md`](SECURITY.md) and the relevant model documentation before integrating. Report vulnerabilities through [GitHub private vulnerability reporting](https://github.com/0xprogrammable/programmable/security/advisories/new). diff --git a/assets/programmable-repository-cover.jpg b/assets/programmable-repository-cover.jpg index 459e038cb0dac6f6ad45fd830866933eaa57c791..c76ec5698f17419fcd8d438d643e8e0972b82171 100644 GIT binary patch literal 623788 zcmb5Vdr*?;8$QliL?!T)A{7E6rnaJpXsrPvf=PKO^HghSDyHV4+U>Z2sNgBZLyA_2 zhIuSaO*?u{P0dqfS(}+*R$Fb_Zr1K+zwFF!ely=czxO=v3^ULBzB4cLJkNby*L~gp z&i*?G@B)B%srKHC= Vk D@9Zn9d!Rcz?>;F0`|Z)w8&?SX_niy+c5O{_>CWu!
zSY`FznEyl3S%x*$|9_kt0RaJ}8>Jhi8 ?ec9y}{?QvHWiPF_;y85lD})r70xNqcnRV=7EajLBD(^
z=qYSv@o?hp_h1IgU1mxx_FMFdU}nyBjMy%%YVyL}M`iECYbI)*W!treP*X@A6i1{R
zcS9UH$`H_4R+H)dcsy=k$j4f*hYyCmpOnQSX{bo)rt`c>MVL9nY<#~xua+~r%e|}!
z%$$BkU05en&VeJFye&YNy9JLpK(l5*z8K*Sp$YQQgi>Pz$r|oZ+ptjMG;f74T2$kf
z(#&A^Z={EYxyTtO^>(`6MX85NhqC)0(3;1dCZN0+~LqRkj6DcKjNyHTVHwH82EGzH>?<9Y*lwPxm111lTN>K|A7lyg;PXD(cKZ5o+M>vG!PW!z9o;uGmeO_t7_Id}y n@MWV!LUJ%@-hh1ePvUs2_#xBVi#9eUcvtHyZhq#m8ZgHS@yM4fH<#A)qlqf
zfnUWAxTLGcbArQ)qGHA;4Pd`J{
z*BM+G+AJ|2vU~1=!bj8