✨ auditor: support non-collateral markets - #815
Conversation
🦋 Changeset detectedLatest commit: ce13b65 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughAuditor now supports listed markets that cannot provide collateral. The status affects market entry, liquidity, withdrawal, liquidation, bad-debt handling, periphery previews, deployment configuration, upgrades, and protocol tests. ChangesNon-collateral market support
Estimated code review effort: 5 (Critical) | ~120 minutes Merge Risk: 🟠 High · up to This change adds support for non-collateral markets, but the current implementation can fail during liquidation after eligible collateral is exhausted and clear debt without consuming remaining non-collateral balances, potentially shifting losses to lenders or protocol earnings. Changing an existing market to non-collateral can also immediately remove collateral value and make positions unliquidatable. The PR is not ready to merge until these recovery and rollout risks are addressed. Sequence Diagram(s)sequenceDiagram
participant Admin
participant Auditor
participant Market
participant Previewer
Admin->>Auditor: setNonCollateral(market, true)
Market->>Auditor: request liquidity or liquidation check
Auditor->>Auditor: exclude collateral and retain debt
Previewer->>Auditor: read market metadata
Auditor-->>Previewer: return nonCollateral status
Previewer-->>Market: return adjusted preview
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
test/Protocol.t.sol (1)
630-641: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winLoad metadata for
collateralMarket.Line 636 loads metadata for
marketagain. Lines 637-641 valuecollateralMarket's balance. If the markets use different decimals or adjust factors, the bad-debt assertion calculates incorrect adjusted collateral.Proposed fix
- (b.adjustFactor, b.decimals, , , , ) = auditor.markets(market); + (b.adjustFactor, b.decimals, , , , ) = auditor.markets(collateralMarket);
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 782541f2-ee53-44a7-9913-bbf7b6db3376
📒 Files selected for processing (28)
.changeset/brave-otter-glides.md.gas-snapshotcontracts/Auditor.solcontracts/periphery/DebtManager.solcontracts/periphery/DebtPreviewer.solcontracts/periphery/DebtRoller.solcontracts/periphery/InstallmentsRouter.solcontracts/periphery/IntegrationPreviewer.solcontracts/periphery/Previewer.soldeploy/Markets.tshardhat.config.tstest/Auditor.t.soltest/AuditorUpgrade.t.soltest/DebtManager.t.soltest/DebtPreviewer.t.soltest/DebtRoller.t.soltest/InstallmentsRouter.t.soltest/IntegrationPreviewer.t.soltest/Market.t.soltest/Pauser.t.soltest/Previewer.t.soltest/Protocol.t.soltest/RewardsController.t.soltest/VerifiedMarket.t.soltest/hardhat/0_admin.tstest/hardhat/1_auditor.tstest/hardhat/defaultEnv.tstest/hardhat/marketEnv.ts
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9fd6a4276d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
9fd6a42 to
d4a2b81
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d4a2b81e02
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #815 +/- ##
==========================================
- Coverage 94.82% 94.78% -0.04%
==========================================
Files 31 31
Lines 2724 2744 +20
Branches 457 473 +16
==========================================
+ Hits 2583 2601 +18
- Misses 140 142 +2
Partials 1 1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
d4a2b81 to
ce13b65
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ce13b6524e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 4
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: aac7bf33-b255-4786-baff-9a3d60a7c825
📒 Files selected for processing (7)
.gas-snapshotcontracts/Auditor.solhardhat.config.tstest/Auditor.t.soltest/AuditorUpgrade.t.soltest/Market.t.soltest/Protocol.t.sol
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.
Summary by CodeRabbit
New Features
Bug Fixes
Tests