Skip to main content

IREVLoans

Git Source

Functions​

LOAN_LIQUIDATION_DURATION​

function LOAN_LIQUIDATION_DURATION() external view returns (uint256);

PERMIT2​

function PERMIT2() external view returns (IPermit2);

CONTROLLER​

function CONTROLLER() external view returns (IJBController);

REVNETS​

function REVNETS() external view returns (IREVDeployer);

DIRECTORY​

function DIRECTORY() external view returns (IJBDirectory);

PRICES​

function PRICES() external view returns (IJBPrices);

PROJECTS​

function PROJECTS() external view returns (IJBProjects);

REV_ID​

function REV_ID() external view returns (uint256);

REV_PREPAID_FEE_PERCENT​

function REV_PREPAID_FEE_PERCENT() external view returns (uint256);

MIN_PREPAID_FEE_PERCENT​

function MIN_PREPAID_FEE_PERCENT() external view returns (uint256);

MAX_PREPAID_FEE_PERCENT​

function MAX_PREPAID_FEE_PERCENT() external view returns (uint256);

borrowableAmountFrom​

function borrowableAmountFrom(
uint256 revnetId,
uint256 collateral,
uint256 decimals,
uint256 currency
)
external
view
returns (uint256);

determineSourceFeeAmount​

function determineSourceFeeAmount(
REVLoan memory loan,
uint256 amount
)
external
view
returns (uint256 sourceFeeAmount);

isLoanSourceOf​

function isLoanSourceOf(uint256 revnetId, IJBPayoutTerminal terminal, address token) external view returns (bool);

loanOf​

function loanOf(uint256 loanId) external view returns (REVLoan memory);

loanSourcesOf​

function loanSourcesOf(uint256 revnetId) external view returns (REVLoanSource[] memory);

numberOfLoansFor​

function numberOfLoansFor(uint256 revnetId) external view returns (uint256);

revnetIdOfLoanWith​

function revnetIdOfLoanWith(uint256 loanId) external view returns (uint256);

tokenUriResolver​

function tokenUriResolver() external view returns (IJBTokenUriResolver);

totalBorrowedFrom​

function totalBorrowedFrom(
uint256 revnetId,
IJBPayoutTerminal terminal,
address token
)
external
view
returns (uint256);

totalCollateralOf​

function totalCollateralOf(uint256 revnetId) external view returns (uint256);

borrowFrom​

function borrowFrom(
uint256 revnetId,
REVLoanSource calldata source,
uint256 minBorrowAmount,
uint256 collateral,
address payable beneficiary,
uint256 prepaidFeePercent
)
external
returns (uint256 loanId, REVLoan memory loan);

liquidateExpiredLoansFrom​

function liquidateExpiredLoansFrom(uint256 revnetId, uint256 startingLoanId, uint256 count) external;

repayLoan​

function repayLoan(
uint256 loanId,
uint256 maxRepayBorrowAmount,
uint256 collateralCountToReturn,
address payable beneficiary,
JBSingleAllowance calldata allowance
)
external
payable
returns (uint256 paidOffLoanId, REVLoan memory loan);

reallocateCollateralFromLoan​

function reallocateCollateralFromLoan(
uint256 loanId,
uint256 collateralToTransfer,
REVLoanSource calldata source,
uint256 minBorrowAmount,
uint256 collateralToAdd,
address payable beneficiary,
uint256 prepaidFeePercent
)
external
payable
returns (uint256 reallocatedLoanId, uint256 newLoanId, REVLoan memory reallocatedLoan, REVLoan memory newLoan);

setTokenUriResolver​

function setTokenUriResolver(IJBTokenUriResolver resolver) external;

Events​

Borrow​

event Borrow(
uint256 indexed loanId,
uint256 indexed revnetId,
REVLoan loan,
REVLoanSource source,
uint256 borrowAmount,
uint256 collateralCount,
uint256 sourceFeeAmount,
address payable beneficiary,
address caller
);

Liquidate​

event Liquidate(uint256 indexed loanId, uint256 indexed revnetId, REVLoan loan, address caller);

RepayLoan​

event RepayLoan(
uint256 indexed loanId,
uint256 indexed revnetId,
uint256 indexed paidOffLoanId,
REVLoan loan,
REVLoan paidOffLoan,
uint256 repayBorrowAmount,
uint256 sourceFeeAmount,
uint256 collateralCountToReturn,
address payable beneficiary,
address caller
);

ReallocateCollateral​

event ReallocateCollateral(
uint256 indexed loanId,
uint256 indexed revnetId,
uint256 indexed reallocatedLoanId,
REVLoan reallocatedLoan,
uint256 removedcollateralCount,
address caller
);

SetTokenUriResolver​

event SetTokenUriResolver(IJBTokenUriResolver indexed resolver, address caller);