PrimaryLendingPlatformAtomicRepaymentCore
Overview
License: MIT
Core contract for the atomic repayment functionality for the PrimaryLendingPlatform contract.
Abstract contract that implements the atomic repayment core functionality for the PrimaryLendingPlatform contract.
Events info
SetExchangeAggregator
Emitted when the exchange aggregator and registry aggregator addresses are set.
Parameters:
exchangeAggregator
address
The address of the exchange aggregator.
registryAggregator
address
The address of the registry aggregator.
SetPrimaryLendingPlatform
Emitted when the primary lending platform address is set.
Parameters:
newPrimaryLendingPlatform
address
The new address of the primary lending platform.
AtomicRepayment
Emitted when an atomic repayment is executed, where a user sells collateral to repay a loan.
Parameters:
user
address
The address of the user who executed the atomic repayment.
collateral
address
The address of the collateral asset sold by the user.
lendingAsset
address
The address of the lending asset that was repaid.
amountSold
uint256
The amount of collateral sold by the user.
amountReceive
uint256
The amount of lending asset received by the user after the repayment.
Constants info
MODERATOR_ROLE (0x797669c9)
BUFFER_PERCENTAGE (0x952038c2)
State variables info
primaryLendingPlatform (0x92641a7c)
exchangeAggregator (0x60df4f35)
registryAggregator (0xf38cb29a)
Modifiers info
onlyModerator
Throws if the caller is not the moderator.
isProjectTokenListed
Throws if the project token is not listed.
Parameters:
projectToken
address
The project token address.
Functions info
initialize (0xc4d66de8)
Sets up initial roles, initializes AccessControl, and sets the provided PIT address
Parameters:
pit
address
The address of the PrimaryLendingPlatform contract.
setExchangeAggregator (0x3c4841b4)
Updates the Exchange Aggregator contract and registry contract addresses.
Requirements:
The caller must be the moderator.
exchangeAggregatorAddress
must not be the zero address.registryAggregatorAddress
must be a valid Augustus contract if it is not the zero address.
Parameters:
exchangeAggregatorAddress
address
The new address of the Exchange Aggregator contract.
registryAggregatorAddress
address
The new address of the Aggregator registry contract.
setPrimaryLendingPlatform (0xe801734a)
Sets the address of the primary lending platform contract.
Parameters:
pit
address
The address of the primary lending platform contract.
Requirements:
pit
cannot be the zero address. |
getTotalOutstanding (0x00fe5da3)
Calculates the outstanding amount (i.e., loanBody + accrual) for a given user, project token, and lending token.
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.
Return values:
outstanding
uint256
The outstanding amount for the user, project token, and lending token.
getRemainingDeposit (0xf8f8b436)
Returns the remaining deposit of a user for a specific project token.
Parameters:
user
address
The address of the user.
projectToken
address
The address of the project token.
Return values:
remainingDeposit
uint256
The remaining deposit of the user for the project token.
Last updated