Summary
DorkFiMCP's borrow_txn (and related borrow flows) should detect when a borrow would exceed the market borrow cap and fail early with a clear error, instead of building/signing and potentially failing on-chain or giving a confusing result.
Problem
When a user calls borrow_txn with an amount that would push total borrowed (e.g. existing borrows + accrued interest + new borrow) over the market's borrow cap:
- The MCP may build transactions that will fail on-chain or behave unexpectedly
- Users get a poor experience (e.g. signing then failure, or unclear reason for failure)
- No upfront validation against the borrow cap in the MCP layer
Expected behavior
- Before building
borrow_txn, DorkFiMCP should:
- Resolve the market's borrow cap (if any) and current total borrowed / user borrow (including accrued interest where applicable)
- Compute whether
current borrowed + borrow amount would exceed the cap
- If over cap: return a clear error (e.g. "Borrow would exceed market cap: current X, cap Y, requested Z") and do not return transaction bytes
- If there is no cap or cap is not applicable, proceed as today
Suggested implementation
- In the code path that handles
borrow_txn (and any wrapper that uses it):
- Fetch market info (e.g. via
get_market or equivalent) including borrow cap and current borrowed amounts (principal + interest)
- Optionally fetch user's current borrow in that market
- Validate
(user_current_borrow + borrow_amount) and/or (total_borrowed + borrow_amount) against cap
- If over cap, return a structured error and no
txn payload
- Add or extend MCP/unit tests for: at-cap, over-cap, and no-cap scenarios
Context
Improves UX and reliability for DorkFi MCP callers; aligns with borrow cap behavior in the app (see e.g. DorkFi/dorkfi-app#248). Complements early deposit-cap check in UluOS#7.
Summary
DorkFiMCP's
borrow_txn(and related borrow flows) should detect when a borrow would exceed the market borrow cap and fail early with a clear error, instead of building/signing and potentially failing on-chain or giving a confusing result.Problem
When a user calls
borrow_txnwith an amount that would push total borrowed (e.g. existing borrows + accrued interest + new borrow) over the market's borrow cap:Expected behavior
borrow_txn, DorkFiMCP should:current borrowed + borrow amountwould exceed the capSuggested implementation
borrow_txn(and any wrapper that uses it):get_marketor equivalent) including borrow cap and current borrowed amounts (principal + interest)(user_current_borrow + borrow_amount)and/or(total_borrowed + borrow_amount)against captxnpayloadContext
Improves UX and reliability for DorkFi MCP callers; aligns with borrow cap behavior in the app (see e.g. DorkFi/dorkfi-app#248). Complements early deposit-cap check in UluOS#7.