docs: add hub funded spoke pool documentation - #385
Draft
Debugger022 wants to merge 3 commits into
Draft
Conversation
Covers the SpokeComptroller fork, its supply and liquidation allowlists, per-market liquidation incentives and bounded collateral pricing. Adds the Liquidity Hub Spoke adapter, the bStock liquidator reference, and the internalCash change to isolated-pool markets.
Resolve the three conflicts with the reference audit that landed on main. - SUMMARY.md: keep the spoke pool entries, take the flattened VenusERC4626 entry from main - vtoken.md and vtoken-interfaces.md: take main's rewrite in full. It already documents internalCash, syncCash and the deployment version boundary, so the additions this branch carried are redundant and in the wrong style for the rewritten pages.
The three implementation branches moved after these pages were written, so several documented claims no longer matched the code, and one new contract had no page at all. SpokeComptroller: - liquidateAccount no longer checks the liquidation allowlist at its entry, so two call sites enforce it rather than three - both batch entry points now refresh markets before the routing snapshot, which is what the skipped per order liquidity check rests on - document enterMarketBehalf, its ACM role string, and why the grant belongs only to a caller that passes its own sender Spoke pools are listed in a PoolRegistry instance of their own, not the isolated pools one. Record the two script deploy order, the ten ACM grants the listing VIP has to make, and the ProtocolShareReserve single registry constraint that blocks listing until protocol-reserve ships support for more than one. BStockLiquidator resolves a non core pool through a PoolRegistry now, so setAllowedComptroller, two errors and one event are gone and three errors are new. AdapterSpokeV1: the supply cap sentinel is one sided rather than inverted, validateRegistration also rejects an unlisted market, and the three vToken error code variants no longer exist. Correct the claim that maxDeposit and validateRegistration are the only members without a holder argument. Also: - add a page for HubRouter, which serves the core pool as well as spoke, plus a product level section since the core half is not spoke specific - note the spoke only state PoolLens now reports - point a link at the oracle article instead of protection mode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the hub-funded spoke pool work. Draft: nothing is deployed or wired yet, and every page says so.
Implementation PRs this covers:
New
whats-new/hub-funded-spoke-pools.md- product introduction: the two-sided pool, access matrix, retail and bulk shapes, worked example, risk controls, where bad debt lands.reference-isolated-pools/spoke/-README(why the fork exists, deploy and VIP ordering),spoke-comptroller(supply and liquidation allowlists, per-market liquidation incentives, themaxClearableDebtrouting betweenliquidateAccountandhealAccount, bounded pricing, full API/event/error delta),spoke-comptroller-storage(layout and why it is not swappable withComptrollerStorage).reference-core-pool/bstock-liquidator.md-BStockLiquidatorhad no docs at all despite being live on BNB Chain, so this is a full page: both pools, both funding modes, the swap chain, the loss floors, the vBNB and VAI branches.Updated
AdapterSpokeV1section: NAV excludesbadDebt, withdraw redeems by vToken count, inverted supply-cap sentinels, and the ordering constraint (setAllowedSupplierbeforeaddResource).internalCashchange, which applies to every isolated-pools market and not just spoke pools. CoverssyncCash, the correctedgetCashsemantics, and the migration hazard: an upgraded market reports zero cash untilsyncCash()runs, so it belongs in the same VIP as the beacon upgrade.SUMMARY.md- three TOC entries.