♾️ INFINIT CLI Alpha release is now available!
API References
@infinit-xyz/aave-v3

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:

FieldTypeDescription
poolAddressProviderRegistrystringAddress of the pool address provider registry
poolAddressesProviderstringAddress of the pool addresses provider
liquidationLogicstringAddress of the liquidation logic
supplyLogicstringAddress of the supply logic
eModeLogicstringAddress of the eMode logic
flashLoanLogicstringAddress of the flash loan logic
borrowLogicstringAddress of the borrow logic
bridgeLogicstringAddress of the bridge logic
poolLogicstringAddress of the pool logic
configuratorLogicstringAddress of the configurator logic
reservesSetupHelperstringAddress of the reserves setup helper
poolProxystringAddress of the pool proxy
lendingPoolsobject<string, LendingPool>Object mapping from lending pool address to lending pool info
walletBalanceProviderstringAddress of the wallet balance provider
uiIncentiveDataProviderstringAddress of the UI incentive data provider
uiPoolDataProviderV3stringAddress of the UI pool data provider V3
aaveProtocolDataProviderstringAddress of the Aave protocol data provider
l2PoolImplstringAddress of the L2 pool implementation
poolConfiguratorImplstringAddress of the pool configurator implementation
aclManagerstringAddress of the ACL manager
aaveOraclestringAddress of the Aave oracle
aaveEcosystemReserveV2ProxystringAddress of the Aave ecosystem reserve V2 proxy
aaveEcosystemReserveControllerstringAddress of the Aave ecosystem reserve controller
aaveEcosystemReserveV2ImplstringAddress of the Aave ecosystem reserve V2 implementation
reserveInterestRateStrategiesobject<string, string>Object mapping from the lending pool address to interest rate strategies
wrappedTokenGatewayV3stringAddress of the wrapped token gateway V3
l2EncoderstringAddress of the L2 encoder
aTokenImplstringAddress of the AToken implementation
delegationAwareATokenImplstringAddress of the delegation-aware AToken implementation
stableDebtTokenImplstringAddress of the stable debt token implementation
variableDebtTokenImplstringAddress of the variable debt token implementation
poolConfiguratorProxystringAddress of the pool configurator proxy

Lending Pool Fields

FieldTypeDescription
underlyingTokenstringAddress of the underlying token
interestRateStrategystringAddress of the interest rate strategy
aTokenstringAddress of the AToken
stableDebtTokenstringAddress of the stable debt token
variableDebtTokenstringAddress 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:

NetworkchainlinkAggProxychainlinkETHUSDAggProxy
Ethereum0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 (opens in a new tab)0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 (opens in a new tab)
Arbitrum0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612 (opens in a new tab)0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612 (opens in a new tab)
BNB Smart Chain0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE (opens in a new tab)0x9ef1B8c0E4F7dc8bF5719Ea496883DC6401d5b2e (opens in a new tab)
Mantle--

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

FieldTypeRequiredDescription
marketIdstringYesUnique identifier for the AAVE market e.g. 'INFINIT-LENDING'
providerIdBigInt (opens in a new tab)YesUnique identifier for the addresses provider e.g. 1n
treasuryOwnerAddressYesAddress of the treasury owner, managing protocol funds e.g. '0x123...abc'
addressesProviderOwnerAddressYesAddress of the owner managing the address provider e.g. '0x123...abc'
addressesProviderRegistryOwnerAddressYesAddress of the owner managing the address provider registry e.g. '0x123...abc'
wrappedTokenGatewayOwnerAddressYesAddress of the owner of the wrapped token gateway e.g. '0x123...abc'
aclAdminAddressYesAddress of the Access Control List admin, managing protocol access e.g. '0x123...abc'
fundsAdminAddressYesAddress of the funds admin, managing funds distribution e.g. '0x123...abc'
poolAdminAddressYesAddress of the pool admin, managing lending pool settings e.g. '0x123...abc'
emergencyAdminAddressYesAddress of the emergency admin, handling emergencies e.g. '0x123...abc'
flashloanPremiumsTotalBigInt (opens in a new tab)YesTotal flash loan premium rate in bps e.g. 50n
flashloanPremiumsProtocolBigInt (opens in a new tab)YesPortion of flash loan premium for the protocol in bps e.g. 50n
chainlinkAggProxyAddressYesAddress of the Chainlink aggregator proxy for price data e.g. '0x123...abc'
chainlinkETHUSDAggProxyAddressYesAddress of the Chainlink ETH/USD price feed proxy e.g. '0x123...abc'
assetsAddress[]YesList of supported asset addresses
sourcesAddress[]YesList of price feed source addresses
fallbackOracleAddressYesAddress of the fallback oracle for backup price feeds e.g. '0x123...abc'
baseCurrencyAddressYesBase token address of the protocol e.g. '0x123...abc'
baseCurrencyUnitBigInt (opens in a new tab)YesSmallest unit of the base currency e.g. 1n
defaultReserveInterestRateStrategyConfigsany[]YesDefault interest rate strategy configuration address
wrappedNativeTokenAddressYesAddress of the wrapped native token e.g. '0x123...abc'
emissionManagerOwnerAddressYesAddress of the owner managing the emission manager e.g. '0x123...abc'
rewardsAdminAddressYesAddress of the rewards admin, managing rewards distribution e.g. '0x123...abc'
rewardsHolderAddressYesAddress 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

FieldTypeDescription
aclManagerAddressThe address of the ACL manager contract e.g. '0x123...abc'
assetListingAdminAddressThe 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.

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
emergencyAdminAddressYesThe 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
poolAdminAddressYesAddress 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
riskAdminAddressYesThe 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
TypeRequiredDescription
defaultReserveInterestRateStrategyConfigsDefaultReserveInterestRateStrategyConfig[]YesThe default reserve interest rate strategy configs

DefaultReserveInterestRateStrategyConfig

FieldTypeRequiredDescription
optimalUsageRatioBigInt (opens in a new tab)YesThe optimal usage ratio
baseVariableBorrowRateBigInt (opens in a new tab)YesThe base variable borrow rate
variableRateSlope1BigInt (opens in a new tab)YesThe first variable rate slope
variableRateSlope2BigInt (opens in a new tab)YesThe second variable rate slope
stableRateSlope1BigInt (opens in a new tab)YesThe first stable rate slope
stableRateSlope2BigInt (opens in a new tab)YesThe second stable rate slope
baseStableRateOffsetBigInt (opens in a new tab)YesThe base stable rate offset
stableRateExcessOffsetBigInt (opens in a new tab)YesThe stable rate excess offset
optimalStableToTotalDebtRatioBigInt (opens in a new tab)YesThe 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
assetListingAdminAddressYesThe 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
emergencyAdminAddressYesThe 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
poolAdminAddressYesAddress 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
riskAdminAddressYesThe 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

FieldTypeRequiredDescription
liquidationBonusInfos{ asset: Address, liquidationBonus: BigInt }[]YesThe list of objects containing the target asset and liquidation bonus in bps e.g. [{ asset: '0x123...abc', liquidationBonus: 100n }]
poolAddressYesThe address of the lending pool contract e.g. '0x123...abc'
poolConfiguratorAddressYesThe address of the pool configurator contract e.g. '0x123...abc'
aclManagerAddressYesThe 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

FieldTypeRequiredDescription
liquidationThresholdInfos{ asset: string, liquidationThreshold: BigInt }[]YesThe list of objects containing the target asset and liquidation threshold in bps e.g. [{ asset: '0x123...abc', liquidationThreshold: 100n }]
poolAddressYesThe address of the lending pool contract e.g. '0x123...abc'
poolConfiguratorAddressYesThe address of the pool configurator contract e.g. '0x123...abc'
aclManagerAddressYesThe 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

FieldTypeRequiredDescription
ltvInfos{ asset: string, ltv: BigInt }[]YesThe list of objects containing the target asset and LTV in bps e.g. [{ asset: '0x123...abc', ltv: 100n }]
poolAddressYesThe address of the lending pool contract e.g. '0x123...abc'
poolConfiguratorAddressYesThe address of the pool configurator contract e.g. '0x123...abc'
aclManagerAddressYesThe 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

FieldTypeRequiredDescription
reserveBorrowingInfos{ asset: string, enabled: boolean }[]YesThe list of objects containing the target asset and enabled status e.g. [{ asset: '0x123...abc', enabled: true }]
poolConfiguratorAddressYesThe address of the pool configurator contract e.g. '0x123...abc'
aclManagerAddressYesThe 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

FieldTypeRequiredDescription
reservePauseInfos{ asset: string, paused: boolean }[]YesThe list of objects containing the target asset and paused status e.g. [{ asset: '0x123...abc', paused: true }]
poolConfiguratorAddressYesThe address of the pool configurator contract e.g. '0x123...abc'
aclManagerAddressYesThe 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

FieldTypeRequiredDescription
aclManagerAddressYesThe address of the ACL manager contract e.g. '0x123...abc'
poolAddressYesThe address of the lending pool contract e.g. '0x123...abc'
reservesSetupHelperAddressYesThe address of the reserves setup helper contract e.g. '0x123...abc'
poolConfiguratorAddressYesThe address of the pool configurator contract e.g. '0x123...abc'
oracleAddressYesThe address of the oracle contract e.g. '0x123...abc'
setupReservesParamsSetupReserveParam[]YesThe list of objects containing the setup reserve params

SetupReservesParam

FieldTypeRequiredDescription
aTokenImplAddressYesThe address of the AToken implementation contract e.g. '0x123...abc'
stableDebtTokenImplAddressYesThe address of the stable debt token implementation contract e.g. '0x123...abc'
variableDebtTokenImplAddressYesThe address of the variable debt token implementation contract e.g. '0x123...abc'
underlyingAssetDecimalsnumberYesThe number of decimals of the underlying asset
interestRateStrategyAddressAddressYesThe address of the interest rate strategy contract e.g. '0x123...abc'
underlyingAssetAddressYesThe address of the underlying asset e.g. '0x123...abc'
treasuryAddressYesThe address of the treasury e.g. '0x123...abc'
incentivesControllerAddressYesThe address of the incentives controller e.g. '0x123...abc'
aTokenNamestringYesThe name of the AToken
aTokenSymbolstringYesThe symbol of the AToken
variableDebtTokenNamestringYesThe name of the variable debt token
variableDebtTokenSymbolstringYesThe symbol of the variable debt token
stableDebtTokenNamestringYesThe name of the stable debt token
stableDebtTokenSymbolstringYesThe symbol of the stable debt token
paramsHexYesThe custom parameters in hexadecimal format
assetAddressYesThe address of the asset e.g. '0x123...abc'
baseLTVBigInt (opens in a new tab)YesThe base loan-to-value ratio
liquidationThresholdBigInt (opens in a new tab)YesThe liquidation threshold
liquidationBonusBigInt (opens in a new tab)YesThe liquidation bonus
reserveFactorBigInt (opens in a new tab)YesThe reserve factor
borrowCapBigInt (opens in a new tab)YesThe borrow cap
supplyCapBigInt (opens in a new tab)YesThe supply cap
stableBorrowingEnabledbooleanYesWhether stable borrowing is enabled
borrowingEnabledbooleanYesWhether borrowing is enabled
flashLoanEnabledbooleanYesWhether flash loans are enabled
amountBigInt (opens in a new tab)YesThe amount
onBehalfOfAddressYesThe address on behalf of which the action is performed e.g. '0x123...abc'
referalCodenumberYesThe referral code
sourceAddressYesThe 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.