Skip to content

Commit d0c7cc5

Browse files
zhongericclaude
andcommitted
chore: add v2.0.0 changelog entry
Document changes on the dev branch relative to main, including breaking changes to the auction and factory constructors, the protocol fee controller addition, sweep authorization, interface renames, supply rollover settlement math, and the new lens contracts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 4eebda8 commit d0c7cc5

1 file changed

Lines changed: 36 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,41 @@
11
# Changelog
22

3-
## v1.1.0 (latest)
3+
## v2.0.0 (latest)
4+
5+
Major release with breaking changes to the auction constructor, factory constructor, sweep authorization, and a number of interface renames. Adds supply rollover settlement math, a protocol fee controller, and new lens contracts for offchain reads. Integrators must redeploy and update integrations.
6+
7+
### Changed
8+
9+
- **Breaking:** Moved `ClaimBlockIsBeforeEndBlock`, `NotClaimable`, and `AuctionIsNotOver` errors out of `IContinuousClearingAuction` and into `IStepStorage`. Integrators importing these from the auction interface must update imports. ([#321](https://github.com/Uniswap/continuous-clearing-auction/pull/321))
10+
- Added `CCALens` and `TickDataLens` periphery contracts for offchain reads of auction state and initialized tick data. Non-breaking addition. ([#325](https://github.com/Uniswap/continuous-clearing-auction/pull/325))
11+
- **Breaking:** `sweepCurrency()` is now restricted to `FUNDS_RECIPIENT` and `sweepUnsoldTokens()` is now restricted to `TOKENS_RECIPIENT`. Adds new `NotAuthorized(address authorized, address caller)` error. Callers other than the configured recipients will revert. ([#329](https://github.com/Uniswap/continuous-clearing-auction/pull/329))
12+
- **Breaking:** Reworked auction settlement to support supply rollover so that demand above the clearing price carries forward over the remaining schedule. Adds new getters `remainingSupplyQ96X7`, `remainingSupply`, `requiredDemandQ96`, and `requiredDemandQ96AtNextActiveTick`. Final clearing prices, per-block fills, and bid economics may differ from v1.x for the same inputs. ([#327](https://github.com/Uniswap/continuous-clearing-auction/pull/327))
13+
- **Breaking:** Added optional custody tokens to `AuctionParameters` and changed `TokensReceived` event signature. ([#330](https://github.com/Uniswap/continuous-clearing-auction/pull/330))
14+
- Removed obsolete DoS test. Non-breaking. ([#333](https://github.com/Uniswap/continuous-clearing-auction/pull/333))
15+
- **Breaking:** Renamed `ITokenCurrencyStorage` to `IAuctionStorage` and moved `currencyRaised`, `currencyRaisedQ96X7`, `sumCurrencyDemandAboveClearingQ96`, `totalCleared`, `totalClearedQ96X7`, `remainingSupply`, and `remainingSupplyQ96X7` into that interface. Renamed `currencyRaisedQ96_X7``currencyRaisedQ96X7` and `totalClearedQ96_X7``totalClearedQ96X7`. ([#332](https://github.com/Uniswap/continuous-clearing-auction/pull/332))
16+
- Fixed an edge case where the clearing price could be incorrectly advanced when rounding caused `remainingSupply` to reach zero before the schedule completed. New bids submitted with zero remaining supply now revert. ([#331](https://github.com/Uniswap/continuous-clearing-auction/pull/331))
17+
- **Breaking:** Reverted the custody tokens feature from [#330](https://github.com/Uniswap/continuous-clearing-auction/pull/330). `AuctionParameters.custodyTokens` and the `custodyTokens()` getter are removed; `TokensReceived` event reverts to `(uint256 totalSupply)`. ([#335](https://github.com/Uniswap/continuous-clearing-auction/pull/335))
18+
- **Breaking:** Tightened `MIN_FLOOR_PRICE` from `2^32` to `2^32 + 1` so that its Q96 reciprocal fits in a `uint160` for downstream LBP / v4 initialization math. Auctions configured with floor price exactly `2^32` are no longer accepted. ([#336](https://github.com/Uniswap/continuous-clearing-auction/pull/336))
19+
- Internal refactor to call `CheckpointAccountingLib` helpers directly from `ContinuousClearingAuction`, removing thin wrappers from `CheckpointStorage`. Non-breaking. ([#338](https://github.com/Uniswap/continuous-clearing-auction/pull/338))
20+
- **Breaking:** Added an owner-controlled `IProtocolFeeController` and threaded it through the factory and auction. `ContinuousClearingAuctionFactory` constructor now takes `address _protocolFeeController` and exposes a `protocolFeeController()` getter; `ContinuousClearingAuction` constructor takes an additional `address _protocolFeeController` argument. `sweepCurrency()` now transfers the protocol fee to the controller and sweeps `currencyRaised − protocolFee` to the funds recipient. `currencyRaised()` no longer subtracts protocol fees, and `lbpInitializationParams()` returns the post-fee `currencyRaised`. `ILBPInitializer` is now imported from the `liquidity-launcher` submodule rather than `src/interfaces/external`. ([#340](https://github.com/Uniswap/continuous-clearing-auction/pull/340))
21+
- Updated `TickDataLens` to use the rollover-aware `requiredDemandQ96` helper so tick data reflects the remaining supply over the remaining issuance schedule. ([#334](https://github.com/Uniswap/continuous-clearing-auction/pull/334))
22+
- **Breaking:** `lbpInitializationParams()` now reverts with `NotGraduated` if the auction did not graduate. Previously it returned stale values for unsuccessful auctions. ([#342](https://github.com/Uniswap/continuous-clearing-auction/pull/342))
23+
- Expanded stateful invariant test coverage. Test-only, non-breaking. ([#337](https://github.com/Uniswap/continuous-clearing-auction/pull/337))
24+
25+
### Audits
26+
27+
### Deployment addresses
28+
29+
**ContinuousClearingAuctionFactory**
30+
| Network | Address | Commit Hash | Version |
31+
| -------- | ------------------------------------------ | ---------------------------------------- | ---------------- |
32+
| Mainnet | | | v2.0.0 |
33+
| Unichain | | | v2.0.0 |
34+
| Base | | | v2.0.0 |
35+
| Sepolia | | | v2.0.0 |
36+
| Unichain Sepolia | | | v2.0.0 |
37+
38+
## v1.1.0
439

540
Fully backwards compatible with Liquidity Launcher v1.0.0 deployments. Contains bug fixes, periphery contracts, and implements the new ILBPInitializer interface introduced in Liquidity Launcher v1.1.0.
641

0 commit comments

Comments
 (0)