Skip to main content

IPoolAddressesProvider

IPoolAddressesProvider​

Defines the basic interface for a Pool Addresses Provider.

MarketIdSet​

event MarketIdSet(string oldMarketId, string newMarketId)

Emitted when the market identifier is updated.

Parameters​

NameTypeDescription
oldMarketIdstringThe old id of the market
newMarketIdstringThe new id of the market

PoolUpdated​

event PoolUpdated(address oldAddress, address newAddress)

Emitted when the pool is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the Pool
newAddressaddressThe new address of the Pool

PoolConfiguratorUpdated​

event PoolConfiguratorUpdated(address oldAddress, address newAddress)

Emitted when the pool configurator is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the PoolConfigurator
newAddressaddressThe new address of the PoolConfigurator

PriceOracleUpdated​

event PriceOracleUpdated(address oldAddress, address newAddress)

Emitted when the price oracle is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the PriceOracle
newAddressaddressThe new address of the PriceOracle

ACLManagerUpdated​

event ACLManagerUpdated(address oldAddress, address newAddress)

Emitted when the ACL manager is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the ACLManager
newAddressaddressThe new address of the ACLManager

ACLAdminUpdated​

event ACLAdminUpdated(address oldAddress, address newAddress)

Emitted when the ACL admin is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the ACLAdmin
newAddressaddressThe new address of the ACLAdmin

PriceOracleSentinelUpdated​

event PriceOracleSentinelUpdated(address oldAddress, address newAddress)

Emitted when the price oracle sentinel is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the PriceOracleSentinel
newAddressaddressThe new address of the PriceOracleSentinel

PoolDataProviderUpdated​

event PoolDataProviderUpdated(address oldAddress, address newAddress)

Emitted when the pool data provider is updated.

Parameters​

NameTypeDescription
oldAddressaddressThe old address of the PoolDataProvider
newAddressaddressThe new address of the PoolDataProvider

ProxyCreated​

event ProxyCreated(bytes32 id, address proxyAddress, address implementationAddress)

Emitted when a new proxy is created.

Parameters​

NameTypeDescription
idbytes32The identifier of the proxy
proxyAddressaddressThe address of the created proxy contract
implementationAddressaddressThe address of the implementation contract

AddressSet​

event AddressSet(bytes32 id, address oldAddress, address newAddress)

Emitted when a new non-proxied contract address is registered.

Parameters​

NameTypeDescription
idbytes32The identifier of the contract
oldAddressaddressThe address of the old contract
newAddressaddressThe address of the new contract

AddressSetAsProxy​

event AddressSetAsProxy(bytes32 id, address proxyAddress, address oldImplementationAddress, address newImplementationAddress)

Emitted when the implementation of the proxy registered with id is updated

Parameters​

NameTypeDescription
idbytes32The identifier of the contract
proxyAddressaddressThe address of the proxy contract
oldImplementationAddressaddressThe address of the old implementation contract
newImplementationAddressaddressThe address of the new implementation contract

getMarketId​

function getMarketId() external view returns (string)

Returns the id of the Aave market to which this contract points to.

Return Values​

NameTypeDescription
[0]stringThe market id

setMarketId​

function setMarketId(string newMarketId) external

Associates an id with a specific PoolAddressesProvider.

This can be used to create an onchain registry of PoolAddressesProviders to identify and validate multiple Aave markets.

Parameters​

NameTypeDescription
newMarketIdstringThe market id

getAddress​

function getAddress(bytes32 id) external view returns (address)

Returns an address by its identifier.

The returned address might be an EOA or a contract, potentially proxied It returns ZERO if there is no registered address with the given id

Parameters​

NameTypeDescription
idbytes32The id

Return Values​

NameTypeDescription
[0]addressThe address of the registered for the specified id

setAddressAsProxy​

function setAddressAsProxy(bytes32 id, address newImplementationAddress) external

General function to update the implementation of a proxy registered with certain id. If there is no proxy registered, it will instantiate one and set as implementation the newImplementationAddress.

IMPORTANT Use this function carefully, only for ids that don't have an explicit setter function, in order to avoid unexpected consequences

Parameters​

NameTypeDescription
idbytes32The id
newImplementationAddressaddressThe address of the new implementation

setAddress​

function setAddress(bytes32 id, address newAddress) external

Sets an address for an id replacing the address saved in the addresses map.

IMPORTANT Use this function carefully, as it will do a hard replacement

Parameters​

NameTypeDescription
idbytes32The id
newAddressaddressThe address to set

getPool​

function getPool() external view returns (address)

Returns the address of the Pool proxy.

Return Values​

NameTypeDescription
[0]addressThe Pool proxy address

setPoolImpl​

function setPoolImpl(address newPoolImpl) external

Updates the implementation of the Pool, or creates a proxy setting the new pool implementation when the function is called for the first time.

Parameters​

NameTypeDescription
newPoolImpladdressThe new Pool implementation

getPoolConfigurator​

function getPoolConfigurator() external view returns (address)

Returns the address of the PoolConfigurator proxy.

Return Values​

NameTypeDescription
[0]addressThe PoolConfigurator proxy address

setPoolConfiguratorImpl​

function setPoolConfiguratorImpl(address newPoolConfiguratorImpl) external

Updates the implementation of the PoolConfigurator, or creates a proxy setting the new PoolConfigurator implementation when the function is called for the first time.

Parameters​

NameTypeDescription
newPoolConfiguratorImpladdressThe new PoolConfigurator implementation

getPriceOracle​

function getPriceOracle() external view returns (address)

Returns the address of the price oracle.

Return Values​

NameTypeDescription
[0]addressThe address of the PriceOracle

setPriceOracle​

function setPriceOracle(address newPriceOracle) external

Updates the address of the price oracle.

Parameters​

NameTypeDescription
newPriceOracleaddressThe address of the new PriceOracle

getACLManager​

function getACLManager() external view returns (address)

Returns the address of the ACL manager.

Return Values​

NameTypeDescription
[0]addressThe address of the ACLManager

setACLManager​

function setACLManager(address newAclManager) external

Updates the address of the ACL manager.

Parameters​

NameTypeDescription
newAclManageraddressThe address of the new ACLManager

getACLAdmin​

function getACLAdmin() external view returns (address)

Returns the address of the ACL admin.

Return Values​

NameTypeDescription
[0]addressThe address of the ACL admin

setACLAdmin​

function setACLAdmin(address newAclAdmin) external

Updates the address of the ACL admin.

Parameters​

NameTypeDescription
newAclAdminaddressThe address of the new ACL admin

getPriceOracleSentinel​

function getPriceOracleSentinel() external view returns (address)

Returns the address of the price oracle sentinel.

Return Values​

NameTypeDescription
[0]addressThe address of the PriceOracleSentinel

setPriceOracleSentinel​

function setPriceOracleSentinel(address newPriceOracleSentinel) external

Updates the address of the price oracle sentinel.

Parameters​

NameTypeDescription
newPriceOracleSentineladdressThe address of the new PriceOracleSentinel

getPoolDataProvider​

function getPoolDataProvider() external view returns (address)

Returns the address of the data provider.

Return Values​

NameTypeDescription
[0]addressThe address of the DataProvider

setPoolDataProvider​

function setPoolDataProvider(address newDataProvider) external

Updates the address of the data provider.

Parameters​

NameTypeDescription
newDataProvideraddressThe address of the new DataProvider