A credit facility that allows users to borrow collateral tokens against issuance tokens. Source: src/core/modules/CreditFacility_v1.sol. Interfaces: ICreditFacility_v1, IReservePathModule_v1.

Functions

borrow

Borrow collateral tokens against locked issuance tokens Parameters Returns ICreditFacility_v1.sol#L318

borrowFor

Borrow collateral tokens on behalf of another user Parameters Returns ICreditFacility_v1.sol#L327

buyAndBorrow

Buy issuance tokens and borrow with loops Parameters Returns ICreditFacility_v1.sol#L338

buyAndBorrowFor

Buy issuance tokens and borrow with loops for user Parameters Returns ICreditFacility_v1.sol#L353

consolidateLoans

Consolidate multiple loans into a single loan Parameters Returns ICreditFacility_v1.sol#L406

rebalanceLoan

Rebalance a loan when either referenceCurve increased or LTV changed Parameters Returns ICreditFacility_v1.sol#L396

repay

Repay a specific loan by ID (partial or full) Parameters ICreditFacility_v1.sol#L371

repayFor

Repays an active loan with the caller’s collateral. Parameters ICreditFacility_v1.sol#L385

setBorrowingFeeRate

Set the borrowing fee rate Parameters ICreditFacility_v1.sol#L423

setLoanToValueRatio

Set the loan-to-value ratio Parameters ICreditFacility_v1.sol#L415

setMaxLoops

Set the maximum loop count allowed for buyAndBorrow operations Parameters ICreditFacility_v1.sol#L419

transferLoan

Transfer a loan to a new borrower Parameters ICreditFacility_v1.sol#L390

View functions

getBorrowingFeeRate

Returns the borrowing fee rate Returns ICreditFacility_v1.sol#L277

getLoan

Get details of a specific loan Parameters Returns ICreditFacility_v1.sol#L282

getLoanToValueRatio

Returns the loan-to-value ratio Returns ICreditFacility_v1.sol#L269

getMaxLoops

Returns the maximum loop count allowed Returns ICreditFacility_v1.sol#L273

getUserLoanIds

Get all active loan IDs for a user Parameters Returns ICreditFacility_v1.sol#L287

getUserLoans

Get all active loans for a user Parameters Returns ICreditFacility_v1.sol#L295

getUserTotalDebt

Returns aggregate loan metrics for a user. Parameters Returns ICreditFacility_v1.sol#L306

isReservePathModule

Identifies a CreditFacility or StakingManager reserve-path module. Returns IReservePathModule_v1.sol#L9

Events

BorrowingFeeRateUpdated

Emitted when the borrowing fee rate is updated Parameters ICreditFacility_v1.sol#L154

DynamicFeeCalculatorUpdated

Emitted when the dynamic fee calculator is updated Parameters ICreditFacility_v1.sol#L146

LoanClosed

Emitted when a loan is fully closed (repaid in full) Parameters ICreditFacility_v1.sol#L130

LoanCreated

Emitted when a new loan is created Parameters ICreditFacility_v1.sol#L76

LoanRebalanced

Emitted when a loan is rebalanced due to referenceCurve increase Parameters ICreditFacility_v1.sol#L90

LoanRepaid

Emitted when a loan is repaid (partial or full) Parameters ICreditFacility_v1.sol#L106

LoanRepaidBy

Identifies the payer of a repayFor payment. Parameters ICreditFacility_v1.sol#L123

LoansConsolidated

Emitted when multiple loans are consolidated Parameters ICreditFacility_v1.sol#L173

LoanToValueRatioLowered

Emitted when the loan-to-value ratio is lowered Parameters ICreditFacility_v1.sol#L142

LoanToValueRatioUpdated

Emitted when the loan-to-value ratio is updated Parameters ICreditFacility_v1.sol#L134

LoanTransferred

Emitted when a loan is transferred to a new borrower Parameters ICreditFacility_v1.sol#L160

MaxLoopsUpdated

Emitted when the maximum loop count is updated Parameters ICreditFacility_v1.sol#L150

Errors

Module__CreditFacility_BorrowAmountTooSmall

Borrow amount is too small (would result in zero fee). Parameters ICreditFacility_v1.sol#L244

Module__CreditFacility_EscrowLoan

Third-party repayment cannot change a Presale escrow loan. ICreditFacility_v1.sol#L116

Module__CreditFacility_FeeTooHigh

Fee rate exceeds the maximum allowed cap Parameters ICreditFacility_v1.sol#L193

Module__CreditFacility_InsufficientCollateralForLoops

Insufficient collateral to complete requested loops ICreditFacility_v1.sol#L215

Module__CreditFacility_InsufficientIssuanceTokensReceived

Insufficient issuance tokens received from purchase ICreditFacility_v1.sol#L218

Module__CreditFacility_InsufficientLoansToConsolidate

Cannot consolidate a single loan (need at least 2) ICreditFacility_v1.sol#L252

Module__CreditFacility_InvalidBorrowAmount

Amount cannot be zero ICreditFacility_v1.sol#L188

Module__CreditFacility_InvalidFeeCalculatorAddress

Invalid fee calculator address ICreditFacility_v1.sol#L206

Module__CreditFacility_InvalidFeeRate

Fee rate exceeds maximum allowed (10000 bps = 100%) ICreditFacility_v1.sol#L185

Module__CreditFacility_InvalidLoanId

Invalid loan ID or loan does not belong to caller ICreditFacility_v1.sol#L227

Module__CreditFacility_InvalidLoansForConsolidation

One or more loans are invalid or don’t belong to caller ICreditFacility_v1.sol#L255

Module__CreditFacility_InvalidLoopCount

Loop count must be at least 1 ICreditFacility_v1.sol#L209

Module__CreditFacility_InvalidReceiver

Invalid receiver address for borrowFor function ICreditFacility_v1.sol#L233

Module__CreditFacility_InvalidTokenReceiver

Invalid token receiver address ICreditFacility_v1.sol#L236

Module__CreditFacility_InvalidTransferRecipient

Cannot transfer loan to an invalid recipient ICreditFacility_v1.sol#L221

Module__CreditFacility_LoanNotFoundInUserLoans

Loan ID not found in user’s loan list ICreditFacility_v1.sol#L230

Module__CreditFacility_LoanToValueRatioTooHigh

Loan-to-value ratio cannot exceed 100% (10,000 bps). Parameters ICreditFacility_v1.sol#L198

Module__CreditFacility_NoCollateralAvailable

No collateral tokens available for the user ICreditFacility_v1.sol#L212

Module__CreditFacility_NoIssuanceTokensReceived

No issuance tokens received in iteration ICreditFacility_v1.sol#L224

Module__CreditFacility_NoLoansToConsolidate

Cannot consolidate with an empty array of loan IDs ICreditFacility_v1.sol#L249

Module__CreditFacility_NoSegmentsConfigured

No segments are configured in the DBC FM ICreditFacility_v1.sol#L203

Module__CreditFacility_NothingToRebalance

The loan has no collateral to rebalance ICreditFacility_v1.sol#L239

Module__CreditFacility_SlippageExceeded

Slippage protection: tokens minted below minimum Parameters ICreditFacility_v1.sol#L260