IPoolAddressesProvider

Git Source

Defines the basic interface for a Pool Addresses Provider.

Functions

getMarketId

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

function getMarketId() external view returns (string memory);

Returns

NameTypeDescription

<none>

string

The market id

setMarketId

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.

function setMarketId(string calldata newMarketId) external;

Parameters

NameTypeDescription

newMarketId

string

The market id

getAddress

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

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

Parameters

NameTypeDescription

id

bytes32

The id

Returns

NameTypeDescription

<none>

address

The address of the registered for the specified id

setAddressAsProxy

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

function setAddressAsProxy(bytes32 id, address newImplementationAddress, bytes calldata params) external;

Parameters

NameTypeDescription

id

bytes32

The id

newImplementationAddress

address

The address of the new implementation

params

bytes

The intialization parameters for the proxied contract

setAddress

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

function setAddress(bytes32 id, address newAddress) external;

Parameters

NameTypeDescription

id

bytes32

The id

newAddress

address

The address to set

getPoolConfigurator

Returns the address of the PoolConfigurator proxy.

function getPoolConfigurator() external view returns (address);

Returns

NameTypeDescription

<none>

address

The PoolConfigurator proxy address

setPoolConfiguratorImpl

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

function setPoolConfiguratorImpl(address newPoolConfiguratorImpl, bytes calldata params) external;

Parameters

NameTypeDescription

newPoolConfiguratorImpl

address

The new PoolConfigurator implementation

params

bytes

getLoanManager

Returns the address of the LoanManager proxy.

function getLoanManager() external view returns (address);

Returns

NameTypeDescription

<none>

address

The LoanManager proxy address

setLoanManagerImpl

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

function setLoanManagerImpl(address newLoanManagerImpl) external;

Parameters

NameTypeDescription

newLoanManagerImpl

address

The new LoanManager implementation

getWithdrawalManager

Returns the address of the WithdrawalManager proxy.

function getWithdrawalManager() external view returns (address);

Returns

NameTypeDescription

<none>

address

The WithdrawalManager proxy address

setWithdrawalManagerImpl

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

function setWithdrawalManagerImpl(address newWithdrawalManagerImpl, bytes calldata params) external;

Parameters

NameTypeDescription

newWithdrawalManagerImpl

address

The new WithdrawalManager implementation

params

bytes

getIsleGlobals

Returns the address of isle globals.

function getIsleGlobals() external view returns (address);

Returns

NameTypeDescription

<none>

address

The IsleGlobals address

setIsleGlobals

Sets an address for IsleGlobals replacing the address saved in the addresses map

function setIsleGlobals(address newIsleGlobals) external;

Parameters

NameTypeDescription

newIsleGlobals

address

IsleGlobals address

Events

MarketIdSet

Emitted when the market identifier is updated.

event MarketIdSet(string indexed oldMarketId, string indexed newMarketId);

PoolConfiguratorUpdated

Emitted when the pool configurator is updated.

event PoolConfiguratorUpdated(address indexed oldAddress, address indexed newAddress);

LoanManagerUpdated

Emitted when the loan manager is updated.

event LoanManagerUpdated(address indexed oldAddress, address indexed newAddress);

WithdrawalManagerUpdated

Emitted when the withdrawal manager is updated.

event WithdrawalManagerUpdated(address indexed oldAddress, address indexed newAddress);

IsleGlobalsUpdated

Emitted when isle globals is updated.

event IsleGlobalsUpdated(address indexed oldAddress, address indexed newAddress);

ProxyCreated

Emitted when a new proxy is created.

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

AddressSet

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

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

AddressSetAsProxy

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

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

Last updated