AAVEv3 Module
Config
protocol_module
=aave-v3
Registry
The available fields in the AAVEv3 module to use in the infinit.registry.json
are as follows:
Field | Type | Description |
---|---|---|
poolAddressProviderRegistry | string | Address of the pool address provider registry |
poolAddressesProvider | string | Address of the pool addresses provider |
liquidationLogic | string | Address of the liquidation logic |
supplyLogic | string | Address of the supply logic |
eModeLogic | string | Address of the eMode logic |
flashLoanLogic | string | Address of the flash loan logic |
borrowLogic | string | Address of the borrow logic |
bridgeLogic | string | Address of the bridge logic |
poolLogic | string | Address of the pool logic |
configuratorLogic | string | Address of the configurator logic |
reservesSetupHelper | string | Address of the reserves setup helper |
poolProxy | string | Address of the pool proxy |
lendingPools | object<string, LendingPool> | Object mapping from lending pool address to lending pool info |
walletBalanceProvider | string | Address of the wallet balance provider |
uiIncentiveDataProvider | string | Address of the UI incentive data provider |
uiPoolDataProviderV3 | string | Address of the UI pool data provider V3 |
aaveProtocolDataProvider | string | Address of the Aave protocol data provider |
l2PoolImpl | string | Address of the L2 pool implementation |
poolConfiguratorImpl | string | Address of the pool configurator implementation |
aclManager | string | Address of the ACL manager |
aaveOracle | string | Address of the Aave oracle |
aaveEcosystemReserveV2Proxy | string | Address of the Aave ecosystem reserve V2 proxy |
aaveEcosystemReserveController | string | Address of the Aave ecosystem reserve controller |
aaveEcosystemReserveV2Impl | string | Address of the Aave ecosystem reserve V2 implementation |
reserveInterestRateStrategies | object<string, string> | Object mapping from the lending pool address to interest rate strategies |
wrappedTokenGatewayV3 | string | Address of the wrapped token gateway V3 |
l2Encoder | string | Address of the L2 encoder |
aTokenImpl | string | Address of the AToken implementation |
delegationAwareATokenImpl | string | Address of the delegation-aware AToken implementation |
stableDebtTokenImpl | string | Address of the stable debt token implementation |
variableDebtTokenImpl | string | Address of the variable debt token implementation |
poolConfiguratorProxy | string | Address of the pool configurator proxy |
Lending Pool Fields
Field | Type | Description |
---|---|---|
underlyingToken | string | Address of the underlying token |
interestRateStrategy | string | Address of the interest rate strategy |
aToken | string | Address of the AToken |
stableDebtToken | string | Address of the stable debt token |
variableDebtToken | string | Address of the variable debt token |
Utilities
Oracles
The following are the Chainlink aggregator proxies used for price data in different networks for AAVE V3 deployment:
Actions
The actions available in the @infinit-xyz/aave-v3/actions
are as follows:
import {
AddAssetListingAdminAction,
AddEmergencyAdminAction,
AddPoolAdminAction,
AddRiskAdminAction,
DeployAaveV3Action,
DeployDefaultReserveInterestRateStrategyAction,
RemoveAssetListingAdminAction,
RemoveEmergencyAdminAction,
RemovePoolAdminAction,
RemoveRiskAdminAction,
SetLiquidationBonusAction,
SetLiquidationThresholdAction,
SetLtvAction,
SetReserveBorrowingAction,
SetReservePauseAction,
SupportNewReserveAction,
} from '@infinit-xyz/aave-v3/actions'
DeployAaveV3Action
DeployAaveV3Action
is an action that deploys the whole Aave V3 protocol smart contracts.
Parameters
Field | Type | Required | Description |
---|---|---|---|
marketId | string | Yes | Unique identifier for the AAVE market e.g. 'INFINIT-LENDING' |
providerId | BigInt (opens in a new tab) | Yes | Unique identifier for the addresses provider e.g. 1n |
treasuryOwner | Address | Yes | Address of the treasury owner, managing protocol funds e.g. '0x123...abc' |
addressesProviderOwner | Address | Yes | Address of the owner managing the address provider e.g. '0x123...abc' |
addressesProviderRegistryOwner | Address | Yes | Address of the owner managing the address provider registry e.g. '0x123...abc' |
wrappedTokenGatewayOwner | Address | Yes | Address of the owner of the wrapped token gateway e.g. '0x123...abc' |
aclAdmin | Address | Yes | Address of the Access Control List admin, managing protocol access e.g. '0x123...abc' |
fundsAdmin | Address | Yes | Address of the funds admin, managing funds distribution e.g. '0x123...abc' |
poolAdmin | Address | Yes | Address of the pool admin, managing lending pool settings e.g. '0x123...abc' |
emergencyAdmin | Address | Yes | Address of the emergency admin, handling emergencies e.g. '0x123...abc' |
flashloanPremiumsTotal | BigInt (opens in a new tab) | Yes | Total flash loan premium rate in bps e.g. 50n |
flashloanPremiumsProtocol | BigInt (opens in a new tab) | Yes | Portion of flash loan premium for the protocol in bps e.g. 50n |
chainlinkAggProxy | Address | Yes | Address of the Chainlink aggregator proxy for price data e.g. '0x123...abc' |
chainlinkETHUSDAggProxy | Address | Yes | Address of the Chainlink ETH/USD price feed proxy e.g. '0x123...abc' |
assets | Address[] | Yes | List of supported asset addresses |
sources | Address[] | Yes | List of price feed source addresses |
fallbackOracle | Address | Yes | Address of the fallback oracle for backup price feeds e.g. '0x123...abc' |
baseCurrency | Address | Yes | Base token address of the protocol e.g. '0x123...abc' |
baseCurrencyUnit | BigInt (opens in a new tab) | Yes | Smallest unit of the base currency e.g. 1n |
defaultReserveInterestRateStrategyConfigs | any[] | Yes | Default interest rate strategy configuration address |
wrappedNativeToken | Address | Yes | Address of the wrapped native token e.g. '0x123...abc' |
emissionManagerOwner | Address | Yes | Address of the owner managing the emission manager e.g. '0x123...abc' |
rewardsAdmin | Address | Yes | Address of the rewards admin, managing rewards distribution e.g. '0x123...abc' |
rewardsHolder | Address | Yes | Address of the rewards holder, e.g. '0x123...abc' |
Signers
deployer
: The deployer of the protocol.
AddAssetListingAdminAction
AddAssetListingAdminAction
is an action that adds an asset listing admin.
Parameters
Field | Type | Description |
---|---|---|
aclManager | Address | The address of the ACL manager contract e.g. '0x123...abc' |
assetListingAdmin | Address | The address of the asset listing admin e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
AddEmergencyAdminAction
AddEmergencyAdminAction
is an action that adds an emergency admin.
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
emergencyAdmin | Address | Yes | The address of the emergency admin e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
AddPoolAdminAction
AddPoolAdminAction
is an action that adds a pool admin managing the pool settings.
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
poolAdmin | Address | Yes | Address of the pool admin, managing lending pool settings e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
AddRiskAdminAction
AddRiskAdminAction
is an action that adds a risk admin that handle adjusting the asset parameters.
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
riskAdmin | Address | Yes | The address of the risk admin e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
DeployDefaultReserveInterestRateStrategyAction
DeployDefaultReserveInterestRateStrategyAction
is an action that deploys the default reserve interest rate strategy of the lending pools.
Parameters
Field | Type | Required | Description |
---|---|---|---|
defaultReserveInterestRateStrategyConfigs | DefaultReserveInterestRateStrategyConfig[] | Yes | The default reserve interest rate strategy configs |
DefaultReserveInterestRateStrategyConfig
Field | Type | Required | Description |
---|---|---|---|
optimalUsageRatio | BigInt (opens in a new tab) | Yes | The optimal usage ratio |
baseVariableBorrowRate | BigInt (opens in a new tab) | Yes | The base variable borrow rate |
variableRateSlope1 | BigInt (opens in a new tab) | Yes | The first variable rate slope |
variableRateSlope2 | BigInt (opens in a new tab) | Yes | The second variable rate slope |
stableRateSlope1 | BigInt (opens in a new tab) | Yes | The first stable rate slope |
stableRateSlope2 | BigInt (opens in a new tab) | Yes | The second stable rate slope |
baseStableRateOffset | BigInt (opens in a new tab) | Yes | The base stable rate offset |
stableRateExcessOffset | BigInt (opens in a new tab) | Yes | The stable rate excess offset |
optimalStableToTotalDebtRatio | BigInt (opens in a new tab) | Yes | The optimal stable to total debt ratio |
Signers
deployer
: The deployer of the default reserve interest rate strategy.
RemoveAssetListingAdminAction
RemoveAssetListingAdminAction
is an action that removes an asset listing admin.
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
assetListingAdmin | Address | Yes | The address of the asset listing admin e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
RemoveEmergencyAdminAction
RemoveEmergencyAdminAction
is an action that removes an emergency admin.
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
emergencyAdmin | Address | Yes | The address of the emergency admin e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
RemovePoolAdminAction
RemovePoolAdminAction
is an action that removes a pool admin managing the pool settings.
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
poolAdmin | Address | Yes | Address of the pool admin, managing lending pool settings e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
RemoveRiskAdminAction
RemoveRiskAdminAction
is an action that removes a risk admin that handle adjusting the asset parameters.
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
riskAdmin | Address | Yes | The address of the risk admin e.g. '0x123...abc' |
Signers
aclAdmin
: The ACL admin account.
SetLiquidationBonusAction
SetLiquidationBonusAction
is an action that sets the liquidation bonus of the asset.
Parameters
Field | Type | Required | Description |
---|---|---|---|
liquidationBonusInfos | { asset: Address, liquidationBonus: BigInt }[] | Yes | The list of objects containing the target asset and liquidation bonus in bps e.g. [{ asset: '0x123...abc', liquidationBonus: 100n }] |
pool | Address | Yes | The address of the lending pool contract e.g. '0x123...abc' |
poolConfigurator | Address | Yes | The address of the pool configurator contract e.g. '0x123...abc' |
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
Signers
poolAdmin
: The pool admin account.
SetLiquidationThresholdAction
SetLiquidationThresholdAction
is an action that sets the liquidation threshold of the asset.
Parameters
Field | Type | Required | Description |
---|---|---|---|
liquidationThresholdInfos | { asset: string, liquidationThreshold: BigInt }[] | Yes | The list of objects containing the target asset and liquidation threshold in bps e.g. [{ asset: '0x123...abc', liquidationThreshold: 100n }] |
pool | Address | Yes | The address of the lending pool contract e.g. '0x123...abc' |
poolConfigurator | Address | Yes | The address of the pool configurator contract e.g. '0x123...abc' |
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
Signers
poolAdmin
: The pool admin account.
SetLtvAction
SetLtvAction
is an action that sets the loan-to-value ratio of the selected asset.
Parameters
Field | Type | Required | Description |
---|---|---|---|
ltvInfos | { asset: string, ltv: BigInt }[] | Yes | The list of objects containing the target asset and LTV in bps e.g. [{ asset: '0x123...abc', ltv: 100n }] |
pool | Address | Yes | The address of the lending pool contract e.g. '0x123...abc' |
poolConfigurator | Address | Yes | The address of the pool configurator contract e.g. '0x123...abc' |
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
Signers
poolAdmin
: The pool admin account.
SetReserveBorrowingAction
SetReserveBorrowingAction
is an action that sets the borrow status of the reserve.
Parameters
Field | Type | Required | Description |
---|---|---|---|
reserveBorrowingInfos | { asset: string, enabled: boolean }[] | Yes | The list of objects containing the target asset and enabled status e.g. [{ asset: '0x123...abc', enabled: true }] |
poolConfigurator | Address | Yes | The address of the pool configurator contract e.g. '0x123...abc' |
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
Signers
poolAdmin
: The pool admin account.
SetReservePauseAction
SetReservePauseAction
is an action that sets the pause status of the reserve.
Parameters
Field | Type | Required | Description |
---|---|---|---|
reservePauseInfos | { asset: string, paused: boolean }[] | Yes | The list of objects containing the target asset and paused status e.g. [{ asset: '0x123...abc', paused: true }] |
poolConfigurator | Address | Yes | The address of the pool configurator contract e.g. '0x123...abc' |
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
Signers
poolAdmin
: The pool admin account.
SupportNewReserveAction
SupportNewReserveAction
is an action that supports a new pool (reserve).
Parameters
Field | Type | Required | Description |
---|---|---|---|
aclManager | Address | Yes | The address of the ACL manager contract e.g. '0x123...abc' |
pool | Address | Yes | The address of the lending pool contract e.g. '0x123...abc' |
reservesSetupHelper | Address | Yes | The address of the reserves setup helper contract e.g. '0x123...abc' |
poolConfigurator | Address | Yes | The address of the pool configurator contract e.g. '0x123...abc' |
oracle | Address | Yes | The address of the oracle contract e.g. '0x123...abc' |
setupReservesParams | SetupReserveParam[] | Yes | The list of objects containing the setup reserve params |
SetupReservesParam
Field | Type | Required | Description |
---|---|---|---|
aTokenImpl | Address | Yes | The address of the AToken implementation contract e.g. '0x123...abc' |
stableDebtTokenImpl | Address | Yes | The address of the stable debt token implementation contract e.g. '0x123...abc' |
variableDebtTokenImpl | Address | Yes | The address of the variable debt token implementation contract e.g. '0x123...abc' |
underlyingAssetDecimals | number | Yes | The number of decimals of the underlying asset |
interestRateStrategyAddress | Address | Yes | The address of the interest rate strategy contract e.g. '0x123...abc' |
underlyingAsset | Address | Yes | The address of the underlying asset e.g. '0x123...abc' |
treasury | Address | Yes | The address of the treasury e.g. '0x123...abc' |
incentivesController | Address | Yes | The address of the incentives controller e.g. '0x123...abc' |
aTokenName | string | Yes | The name of the AToken |
aTokenSymbol | string | Yes | The symbol of the AToken |
variableDebtTokenName | string | Yes | The name of the variable debt token |
variableDebtTokenSymbol | string | Yes | The symbol of the variable debt token |
stableDebtTokenName | string | Yes | The name of the stable debt token |
stableDebtTokenSymbol | string | Yes | The symbol of the stable debt token |
params | Hex | Yes | The custom parameters in hexadecimal format |
asset | Address | Yes | The address of the asset e.g. '0x123...abc' |
baseLTV | BigInt (opens in a new tab) | Yes | The base loan-to-value ratio |
liquidationThreshold | BigInt (opens in a new tab) | Yes | The liquidation threshold |
liquidationBonus | BigInt (opens in a new tab) | Yes | The liquidation bonus |
reserveFactor | BigInt (opens in a new tab) | Yes | The reserve factor |
borrowCap | BigInt (opens in a new tab) | Yes | The borrow cap |
supplyCap | BigInt (opens in a new tab) | Yes | The supply cap |
stableBorrowingEnabled | boolean | Yes | Whether stable borrowing is enabled |
borrowingEnabled | boolean | Yes | Whether borrowing is enabled |
flashLoanEnabled | boolean | Yes | Whether flash loans are enabled |
amount | BigInt (opens in a new tab) | Yes | The amount |
onBehalfOf | Address | Yes | The address on behalf of which the action is performed e.g. '0x123...abc' |
referalCode | number | Yes | The referral code |
source | Address | Yes | The address of the source e.g. '0x123...abc' |
Signers
deployer
: The deployer of the new reserve.poolAdmin
: The pool admin account.aclAdmin
: The ACL admin account.