PrimaryLendingPlatformAtomicRepaymentZksync
Overview
License: MIT
The PrimaryLendingPlatformAtomicRepaymentZksync contract is the contract that allows users to repay loans atomically for zksync network.
Contract that allows users to repay loans atomically using the OpenOcean exchange aggregator. Inherit from PrimaryLendingPlatformAtomicRepaymentCore.
Functions info
getTotalOutstandingWithUpdatePrices (0x2de2d471)
Calculates the outstanding amount (i.e., loanBody + accrual) for a given user, project token, and lending token after updating related token's prices.
Parameters:
user
address
The user for which to compute the outstanding amount.
projectToken
address
The project token for which to compute the outstanding amount.
lendingAsset
address
The lending token for which to compute the outstanding amount.
priceIds
bytes32[]
An array of bytes32 price identifiers to update.
updateData
bytes[]
An array of bytes update data for the corresponding price identifiers.
Return values:
outstanding
uint256
The outstanding amount for the user, project token, and lending token.
repayAtomic (0x4f6db5fc)
Repays a loan atomically using the given project token as collateral.
Repays the loan in a single atomic transaction and update related token's prices.
Requirements:
The project token is listed on the platform.
The lending token is listed on the platform.
Collateral amount must be greater than 0.
The user must have a position for the given project token and lending token.
Effects:
Update price of related tokens.
Transfers the collateral amount from the user to the contract.
Approves the collateral amount to the primary lending platform contract.
Calculates the total outstanding amount for the user, project token, and lending token.
Buys the lending token from the exchange aggregator.
Deposits the collateral amount back to the primary lending platform contract.
Approves the lending token amount to the primary lending platform contract.
Repays the lending token amount to the primary lending platform contract.
Transfers the remaining lending token amount to the user.
Defers the liquidity check for the user, project token, and lending token.
Parameters:
prjInfo
struct Asset.Info
Information about the project token, including its address and type.
lendingInfo
struct Asset.Info
Information about the lending token, including its address and type.
collateralAmount
uint256
The amount of collateral to use for repayment.
buyCalldata
bytes[]
The calldata for the swap operation.
isRepayFully
bool
A boolean indicating whether the loan should be repaid fully or partially.
priceIds
bytes32[]
An array of bytes32 price identifiers to update.
updateData
bytes[]
An array of bytes update data for the corresponding price identifiers.
Last updated