Baseline engaged Guardian to review the security of their Migrator Updates. From the 23rd of November to the 28th of November, a team of 2 auditors reviewed the source code in scope.
- Published
- Review window
- November 23 to 28, 2025
- Language
- Solidity
- Chains
- Blast
- Sector
- Token launches
- 0 Critical
- 1 High
- 0 Medium
- 6 Low
- 0 Informational
Scope
Overview
Baseline engaged Guardian to review the security of their Migrator Updates. From the 23rd of November to the 28th of November, a team of 2 auditors reviewed the source code in scope.
Issues Detected Throughout the engagement 1 High/Critical issues were uncovered and promptly remediated by the Baseline team.
Findings 7
-
H-01 High Sweep DoS DoS Resolved
Description
In function
drop, the liquidity added to the discovery range isliqMulWad(threshold, 1e18 +getLiquiditySpread())while the liquidity added to the anchor range isliquidityA.The
thresholdcan be smaller than the anchor’s liquidity, ultimately allowing the discovery’s liquidity to be thinner than the anchor’s liquidity.Because the invariant
discovery liquidity ≥ anchor liquidityhas been broken, functionsweepcan be DoS’d due to underflow when performingoldDiscovery.liquidity - liquidityA, preventing a core market making functionality from being usable.Recommendation
Minimize
liquidityAbetween the threshold and the old anchor liquidity, as done insweepandslide.Resolution
Baseline Team: The issue was resolved in commit 4d8fd4f.
-
L-01 Low Loans Unfairly Extended By Migration Gaming Acknowledged
Description
The
CREDTMigratorcontract allows users to migrate their loans with a discrete expiry to aLOOPSposition which effectively resets their expiry in that the account will decay at the funding rate.Therefore a user may game this by migrating their
CREDTposition right before their discrete expiry is hit and enjoy the entire period that theirLOOPSposition loan exists.Recommendation
Be aware of this potential gaming, if it is undesired consider adding a penalty for users who have already lived out a large portion of the
CREDTloans.Resolution
Baseline Team: Acknowledged.
-
L-02 Low Typo Typo Resolved
Description
The
CRETMigratorcontract has a typo where theCREDTis missing the D.Recommendation
Consider renaming the
CRETMigratorcontract toCREDTMigrator.Resolution
Baseline Team: The issue was resolved in commit 4d8fd4f.
-
L-03 Low Unnecessary Keycode Optimization Resolved
Description
In the
requestPermissionsfunction theBPOOL_KEYCODEis declared and unused.Recommendation
Remove the
BPOOL_KEYCODEvariable.Resolution
Baseline Team: The issue was resolved in commit 4d8fd4f.
-
L-04 Low Missing Invariant Check Suggestion Resolved
Description
In the
migratefunction currently there is no capacity invariant check at the end of the migration to prevent a breaking of the capacity invariant.Currently there is no identified invalidation of this invariant due to the migration, however out of an abundance of caution it may be best to add this validation at the end of the
migratefunction.Recommendation
Consider adding the capacity validation at the end of the
migratefunction.Resolution
Baseline Team: The issue was resolved in commit 4d8fd4f.
-
L-05 Low Lacking Event Emission Events Resolved
Description
The
migratefunction performs several operations of repaying and opening a new LOOPS position, however no events are emitted for this operation.Recommendation
Consider emitting a migration event in the
migratefunction.Resolution
Baseline Team: The issue was resolved in commit 4d8fd4f.
-
L-06 Low Inconsistent Discovery Width Warning Resolved
Description
When launching the protocol within
BaselineInit.launchtheDISCOVERY_WIDTHis 350, but within theMarketMakingcontract theDISCOVERY_WIDTHis 100.This will cause a stepwise decrease in the discovery range after a
MarketMakingoperation, which may be unexpected from the protocol’s perspective if the range’s size is expected to remain constant.Recommendation
Document this behavior or keep the widths consistent.
Resolution
Baseline Team: The issue was resolved in commit e1bc337.
No findings match.
More from Baseline Markets
All 12 reports-
Mercury, Round 3
109 findings4 critical · 9 high 109 findings: 4 critical, 9 high, 28 medium, 33 low, 35 informational -
AMM, Round 2
47 findings4 critical · 14 high 47 findings: 4 critical, 14 high, 8 medium, 13 low, 8 informational -
AMM
54 findings3 critical · 6 high 54 findings: 3 critical, 6 high, 13 medium, 11 low, 21 informational -
Fixed Supply
34 findings4 high 34 findings: 4 high, 10 medium, 20 low
Put your code through the same review.
This review started with a conversation about scope. Tell us what you are building and we will plan yours with you.
