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:
AaveOracle
toOracle
andAaveProtocolDataProvider
toProtocolDataProvider
- StableDebtToken.sol - removed the minting of StableDebt tokens (see Aave v2/v3 security incident 04/11/2023)
- FlashLoanLogic.sol - read
maxStableRateBorrowSizePercent
,reservesCount
anduserEModeCategory
fromPool
instead of params - commit - PriceOracleSentinel.sol, updated to use
startAt
instead 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