Contracts overview
Architecture, deploy order, and how the pieces talk to each other.
Pieces
| Contract | Role |
|---|---|
MintFastLaunchpad | Factory, router, harvest, admin |
MintFastToken | Fixed-supply ERC20 per coin (CREATE2) |
MintFastHook | Uniswap v4 hook, 2% ETH fee |
SocialFeeVault | Fletcher escrow and claims |
MintFastQuoter | eth_call quote lens |
HandleLib | Handle validation and key derivation (library) |
There are no proxies. A new version means a new deployment.
flowchart LR
User --> Launchpad
Launchpad --> Token
Launchpad --> Hook
Launchpad --> PoolManager
Launchpad --> Vault
Hook --> PoolManager
Quoter --> PoolManager
Claimer --> VaultDeploy order
Contracts were deployed in this order:
SocialFeeVault(owner, initialAttester)- Mine a CREATE2 salt so the hook address carries the required Uniswap v4 permission bits
MintFastLaunchpad(poolManager, feeVault, treasury, hookSalt)(constructor deploys the hook)MintFastQuoter(poolManager, poolFee, tickSpacing, hook)
Live mainnet addresses are on Getting started.
Pool shape (every coin)
currency0= native ETH (address(0))currency1= tokenfee= 0tickSpacing= 200hooks= MintFastHook
Supply lock range: [MIN_TICK, boundaryTick] with MIN_TICK = -887200. Boundary is the launch price snapped to spacing.