Licences
Read from the SPDX header of every file that actually compiles into each model, not from a summary. The two models are in different positions and the difference is not cosmetic: Model V1 compiles no Uniswap code at all, while Model V2 compiles two Uniswap V4 core libraries that are under the Business Source Licence.
Model V1 — contracts/launchpad-v1/src
| File | SPDX identifier |
|---|---|
AgiLaunchFactory.sol, AgiLaunchLocker.sol, AgiLauncherToken.sol, libraries/AgiLiquidityMath.sol, interfaces/ILaunchpad.sol | MIT |
libraries/AgiTickMath.sol | GPL-2.0-or-later |
OpenZeppelin (ERC20, Ownable, Ownable2Step, ReentrancyGuard) | MIT |
No Uniswap code is compiled into Model V1. It reaches Uniswap V3 through minimal hand-written interfaces and carries its own tick and liquidity math. There is no BUSL anywhere in that tree. Note that one file, the tick math, is GPL-2.0-or-later rather than MIT: it is the strictest licence in V1 and it applies to the whole of that file.
Model V2 — contracts/launchpad-v2/src/v2
| Code | SPDX identifier | What compiles in |
|---|---|---|
Everything under src/v2/ | MIT | all 15 files: the eleven contracts, two interface files, two libraries |
| OpenZeppelin | MIT | ERC20, Ownable, Ownable2Step, ReentrancyGuard, Create2, Math, SafeCast, SafeERC20 |
v4-core — libraries/Pool.sol and, through it, libraries/Position.sol | BUSL-1.1 | imported by AgiV2GraduationGuard, which models V4's own rejections before an irreversible sweep |
v4-core — everything else it pulls in | MIT | Hooks, StateLibrary, TickMath, FullMath, IPoolManager, IHooks, IUnlockCallback and the core types |
v4-periphery | MIT | IPositionManager, Actions, LiquidityAmounts |
v4-hooks-public | MIT | BaseHook |
permit2 | MIT | IAllowanceTransfer |
The BUSL exposure is narrower than "V4 core is BUSL" suggests, and it is also real. Of the v4-core files
that reach the compiler, exactly two carry BUSL-1.1: Pool.sol, imported directly
by AgiV2GraduationGuard so that the graduation preflight can model the same arithmetic bounds
the real mint enforces, and Position.sol, which Pool.sol imports in turn. Every
other v4-core file used here — the hook library, the state reader, the tick and full-precision math, the
interfaces and the types — is MIT.
BUSL-1.1 is a source-available licence with a change date and an Additional Use Grant, and what it
permits depends on the text of those terms and on how the code is used. Before deploying Model V2, read
the actual LICENSE file that ships with v4-core — its Additional Use Grant, its
change date and its change licence — and have somebody qualified look at it.
That review has not happened.
Model V1 has no BUSL dependency at all, so it is not affected by any of this. It has its own condition instead: the GPL-2.0-or-later file above.