Skip to content

NOJIRA-97B7E125: Create a Venus Improvement Proposal (VIP) targeting BNB Chai - #7

Draft
GitGuru7 wants to merge 1 commit into
mainfrom
bot/NOJIRA-97B7E125-create-a-venus-improvement-proposal-vip-targeting-bnb-chai
Draft

NOJIRA-97B7E125: Create a Venus Improvement Proposal (VIP) targeting BNB Chai#7
GitGuru7 wants to merge 1 commit into
mainfrom
bot/NOJIRA-97B7E125-create-a-venus-improvement-proposal-vip-targeting-bnb-chai

Conversation

@GitGuru7

Copy link
Copy Markdown
Owner

VIP-664 [BNB Chain Testnet] — Raise vUSDT (Core Pool) Borrow Cap +25%

What changed

  • vips/vip-664/bsctestnet.ts — proposal (makeProposal, ProposalType.REGULAR) with a single command:
    _setMarketBorrowCaps([vUSDT], [65399377742237]) on the Core Pool Unitroller.
  • simulations/vip-664/bsctestnet.ts — fork simulation (pre-state → testVip + expectEvents → post-state → behavioral proof).
  • ABIs copied into simulations/vip-664/abi/: DiamondConsolidated.json, ERC20.json, VToken.json, ResilientOracle.json.

Supply cap note (deviation from the literal request, per approved spec)

The request asked to raise both the supply and borrow caps by 25%. On-chain, supplyCaps(vUSDT) returns type(uint256).max — the supply cap is effectively unlimited and unenforced. Raising it by 25% would overflow and have no behavioral effect, so the VIP changes only the borrow cap and documents the unlimited supply cap in the proposal description. The behavioral test proves a user can supply (mint) vUSDT under this unlimited cap. vUSDT is active on the testnet Core pool, so no alternative market was needed.

On-chain verification (broker chain.call, bsctestnet)

Item Value Source
vUSDT 0xb7526572FFE56AB9D7489838Bf2E18e3323b441A symbol() → "vUSDT"; markets(vUSDT).isListed = true, CF = 0.8
USDT underlying 0xA11c8D9DC9b66E209Ef60F0C8D969D3CD988782c vUSDT.underlying(); decimals() → 6
Core Pool Unitroller bsctestnet.UNITROLLER = 0x94d1820b2D1c7c7452A163983Dc888CEC546b77D networkAddresses.ts
Borrow cap (current) 52319502193790 (= 52,319,502.193790 USDT) borrowCaps(vUSDT)
Borrow cap (new, +25%) 65399377742237 (= 65,399,377.742237 USDT) floor(52319502193790 * 125 / 100)
Supply cap type(uint256).max supplyCaps(vUSDT)
MINT action paused? false actionPaused(vUSDT, 0)

Signature selector confirmed: _setMarketBorrowCaps(address[],uint256[]) exists in DiamondConsolidated.json. Fork block 104700000 confirmed valid with the same current cap.

Tests run + results

Command:

npx hardhat test simulations/vip-664/bsctestnet.ts --fork bsctestnet

Result: 10 passing (27s)

  • Pre-VIP: borrow cap = 52,319,502.193790 USDT; supply cap = type(uint256).max
  • testVip executes propose→vote→queue→execute; exactly 1 NewBorrowCap event
  • Post-VIP: borrow cap = 65,399,377.742237 USDT (+25%); supply cap unchanged (type(uint256).max)
  • Behavioral: an impersonated supplier (VTreasury, holds USDT) mints vUSDT supplying 1,000,000 USDT — does not revert, USDT balance decreases by exactly the supplied amount, vToken balance increases (proving supply is unbounded by a cap)

Lint/format:

npx eslint vips/vip-664/bsctestnet.ts simulations/vip-664/bsctestnet.ts   # exit 0
npx prettier --check ...                                                   # All matched files use Prettier code style!

Skill path

authoring-vips (pure VIP — all referenced contracts already deployed on-chain; no testnet deploy).

Risks / notes

  • Only the borrow cap is modified (supply cap is already unlimited) — see the supply cap note above.
  • Routine risk-parameter change; aggregate USDT borrow capacity increases by ~13M USDT.

Opened by the Venus dev bot. Review required; the bot cannot merge.

…estnet

Raises the vUSDT borrow cap from 52,319,502.193790 to 65,399,377.742237 USDT
(+25%) via _setMarketBorrowCaps on the bsctestnet Core Pool Unitroller. The
vUSDT supply cap is already type(uint256).max (unlimited) on-chain and cannot
be raised, so only the borrow cap is changed.

Includes a fork simulation asserting pre/post borrow + supply caps and a
behavioral test proving a user can supply (mint) vUSDT under the unlimited
supply cap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant