HyperLend Core code is a fork of Aave v3.0.2, see diffs (generated using this script)
Changes:
- ReservesSetupHelper.sol, added seeding on the new pool so new reserves are never empty. This is used only during the initial deployment, for addition asset listings, ListingsConfigEngine contract will be used.
- renamed some contracts:
AaveOracletoOracleandAaveProtocolDataProvidertoProtocolDataProvider - StableDebtToken.sol - removed the minting of StableDebt tokens (see Aave v2/v3 security incident 04/11/2023)
- FlashLoanLogic.sol - read
maxStableRateBorrowSizePercent,reservesCountanduserEModeCategoryfromPoolinstead of params - commit - PriceOracleSentinel.sol, updated to use
startAtinstead oflastUpdateTimestamp- commit - Wrap Permit in try/catch to prevent frontrunning grifting - commit, commit
- State synchronization after reserve factor and interest rate strategyes updates - commit
- Fix removing an asset from Efficiency mode bug - commit
This project uses HardHat.
Rename .env.example to .env and enter the required details.
npm i
npx hardhat test
(tested using NodeJS v18.20.0 & NPM v10.4.0)
Before adding new assets, you MUST check Asset Listings Checklist
After initial deployment, tokens MUST be added using Listings Config Engine