IPoolAddressesProvider

Git Source

Defines the basic interface for a Pool Addresses Provider.

Functions

getMarketId

Retrieves the identifier of the Isle market associated with this contract.

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

Returns

NameTypeDescription

<none>

string

The identifier of the market.

setMarketId

Links a new market identifier to this PoolAddressesProvider.

Useful for creating a registry of PoolAddressesProviders for multiple Isle markets.

function setMarketId(string calldata newMarketId) external;

Parameters

NameTypeDescription

newMarketId

string

The new market identifier.

getAddress

Fetches an address associated with a given identifier.

Can return either a direct contract address or a proxy address.

Returns address(0) if no address is registered with the given identifier.

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

Parameters

NameTypeDescription

id

bytes32

The identifier of the contract to retrieve.

Returns

NameTypeDescription

<none>

address

The address associated with the specified identifier.

setAddressAsProxy

Updates or initializes a proxy for a given identifier with a new implementation address.

Use with caution for identifiers without dedicated setter functions to prevent unintended effects.

Only use for identifiers POOL_CONFIGURATOR, LOAN_MANAGER, WITHDRAWAL_MANAGER, or ISLE_GLOBALS.

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

Parameters

NameTypeDescription

id

bytes32

The identifier of the contract to update.

newImplementationAddress

address

The address of the new implementation.

params

bytes

The initialization parameters for the proxy contract.

setAddress

Directly sets a new address for a given identifier, replacing the current address.

Use with caution as this will overwrite the existing address without any checks.

Only use for identifiers POOL_CONFIGURATOR, LOAN_MANAGER, WITHDRAWAL_MANAGER, or ISLE_GLOBALS.

function setAddress(bytes32 id, address newAddress) external;

Parameters

NameTypeDescription

id

bytes32

The identifier for which to set the address.

newAddress

address

The new address to associate with the identifier.

getPoolConfigurator

Retrieves the address of the PoolConfigurator proxy.

function getPoolConfigurator() external view returns (address);

Returns

NameTypeDescription

<none>

address

The address of the PoolConfigurator proxy.

setPoolConfiguratorImpl

Sets or initializes the PoolConfigurator proxy with a new implementation.

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

Parameters

NameTypeDescription

newPoolConfiguratorImpl

address

The address of the new PoolConfigurator implementation.

params

bytes

The initialization parameters for the PoolConfigurator.

getLoanManager

Retrieves the address of the LoanManager proxy.

function getLoanManager() external view returns (address);

Returns

NameTypeDescription

<none>

address

The address of the LoanManager proxy.

setLoanManagerImpl

Sets or initializes the LoanManager proxy with a new implementation.

function setLoanManagerImpl(address newLoanManagerImpl, bytes calldata params) external;

Parameters

NameTypeDescription

newLoanManagerImpl

address

The address of the new LoanManager implementation.

params

bytes

The initialization parameters for the LoanManager.

getWithdrawalManager

Retrieves the address of the WithdrawalManager proxy.

function getWithdrawalManager() external view returns (address);

Returns

NameTypeDescription

<none>

address

The address of the WithdrawalManager proxy.

setWithdrawalManagerImpl

Sets or initializes the WithdrawalManager proxy with a new implementation.

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

Parameters

NameTypeDescription

newWithdrawalManagerImpl

address

The address of the new WithdrawalManager implementation.

params

bytes

The initialization parameters for the WithdrawalManager.

getIsleGlobals

Retrieves the address of IsleGlobals.

function getIsleGlobals() external view returns (address);

Returns

NameTypeDescription

<none>

address

The address of IsleGlobals.

setIsleGlobals

Sets a new address for IsleGlobals, replacing the current address in the registry.

function setIsleGlobals(address newIsleGlobals) external;

Parameters

NameTypeDescription

newIsleGlobals

address

The new address for IsleGlobals.

Events

MarketIdSet

Emitted when the market identifier is changed.

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

Parameters

NameTypeDescription

oldMarketId

string

The previous identifier of the market.

newMarketId

string

The new identifier of the market.

PoolConfiguratorUpdated

Emitted when the address of the PoolConfigurator is updated.

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

Parameters

NameTypeDescription

oldAddress

address

The former address of the PoolConfigurator.

newAddress

address

The updated address of the PoolConfigurator.

LoanManagerUpdated

Emitted when the address of the LoanManager is updated.

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

Parameters

NameTypeDescription

oldAddress

address

The former address of the LoanManager.

newAddress

address

The updated address of the LoanManager.

WithdrawalManagerUpdated

Emitted when the address of the WithdrawalManager is updated.

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

Parameters

NameTypeDescription

oldAddress

address

The former address of the WithdrawalManager.

newAddress

address

The updated address of the WithdrawalManager.

IsleGlobalsUpdated

Emitted when the address of IsleGlobals is updated.

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

Parameters

NameTypeDescription

oldAddress

address

The former address of IsleGlobals.

newAddress

address

The updated address of IsleGlobals.

ProxyCreated

Emitted when a new proxy is created for a contract.

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

Parameters

NameTypeDescription

id

bytes32

The identifier of the contract.

proxyAddress

address

The address of the newly created proxy contract.

implementationAddress

address

The address of the implementation contract linked to the proxy.

AddressSet

Emitted when a new address is registered for a contract without a proxy.

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

Parameters

NameTypeDescription

id

bytes32

The identifier of the contract.

oldAddress

address

The former address of the contract.

newAddress

address

The newly registered address of the contract.

AddressSetAsProxy

Emitted when the implementation of a registered proxy is updated.

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

Parameters

NameTypeDescription

id

bytes32

The identifier of the contract.

proxyAddress

address

The address of the proxy contract.

oldImplementationAddress

address

The former address of the implementation contract.

newImplementationAddress

address

The updated address of the implementation contract.

Last updated