Mangrove
Developper
Developper
  • Welcome
  • Protocol
    • Introduction
    • Technical References
      • Overview
      • Ticks, ratios, and prices
      • Offer-list
        • Views on offers
      • Market-order
        • Delegation
      • Creating & Updating offers
        • Maker contract
        • Offer provisions
        • Gas requirement
        • Public data structures
        • Executing offers
      • Cleaning offers
      • Governance-parameters
        • Global variables
        • Local variables
        • Data structures and views
      • Periphery Contracts
        • MgvReader
        • MgvOracle
      • Literate Source Code
    • Background
      • Taking available liquidity
      • Making liquidity available
      • Reneging on offers
  • Strat Lib
    • What is the Strat Library?
    • Getting-started
      • Set Up Your Local Environment
      • Post a Smart Offer
    • Guides
      • Unlocking liquidity
      • Reposting an offer in the posthook
      • Using last look to renege trades
      • Determining gas requirements
      • Creating a Direct contract
      • Deploying your contract
      • Testing a maker contract
      • Safe offer logic guidelines
      • Approvals
    • Technical references
      • Principal hooks
      • Liquidity routing
      • API preferences
        • Core
          • SRC
            • IMangrove
        • Strats
          • SRC
            • Strategies
              • MangroveOffer
              • MangroveOrder
              • Integrations
                • AaveV3Borrower
                • AaveV3BorrowerImplementation
                • AaveV3BorrowerStorage
                • AaveV3Lender
                • CompoundModule
              • Interfaces
                • IForwarder
                • ILiquidityProvider
                • IOfferLogic
                • IOrderLogic
              • Offer_forwarder
                • Abstract
                  • Forwarder
              • Offer_maker
                • Abstract
                  • Direct
                • Market_making
                  • Kandel
                    • AaveKandel
                    • AaveKandelSeeder
                    • KandelSeeder
                    • Abstract
                      • AbstractKandelSeeder
                      • CoreKandel
                      • DirectWithBidsAndAsksDistribution
                      • GeometricKandel
                      • HasIndexedBidsAndAsks
                      • KandelLib
                      • TradesBaseQuotePair
              • Routeurs
                • SimpleRouter
                • Abstract
                  • AbstractRouter
                • Integrations
                  • AavePooledRouter
                  • HasAaveBalanceMemoizer
              • Utils
                • AccessControlled
              • Vendor
                • AAVE
                  • V3
                    • Contracts
                      • Dependencies
                        • Oppenzeppelin
                          • Contracts
                            • IERC20
                      • Interfaces
                        • IAToken
                        • IAaveIncentivesController
                        • IAaveOracle
                        • ICreditDelegationToken
                        • IInitializableAToken
                        • IPool
                        • IPoolAddressesProvider
                        • IPriceOracleGetter
                        • IScaledBalanceToken
                      • Protocol
                        • Libraries
                          • Configurations
                            • ReserveConfiguration
                          • Helpers
                            • Errors
                          • Types
                            • DataTypes
                    • Periphery
                      • Contracts
                        • MISC
                          • Interfaces
                            • IEACAggregatorProxy
                        • Rewards
                          • Interfaces
                            • IRewardsController
                            • IRewardsDistributor
                            • ITransferStrategyBase
                          • Libraries
                            • RewardsDataTypes
                • Compound
                  • CarefulMath
                  • Exponential
                  • ExponentialNoError
                  • ICompound
    • Background
      • Building Blocks
        • MangroveOffer
        • Direct
        • Forwarder
  • Vaults
    • Understanding vaults
      • Oracles
    • Managing a vault (CLI)
      • Deploying an oracle
      • Creating a vault
      • Monitoring the vault
      • Setting the vault position
      • Setting the fee data
      • Rebalancing
      • Adding or removing liquidity
    • Custom interactions
      • Oracles
      • Vault Factory
      • Managing a vault
        • Setting the position
        • Rebalancing
        • Setting a manager
        • Setting fee
  • Keeper Bots
    • Keeper Bots
    • Guides
      • Using borrowed funds for cleaning
    • Backgroud
      • The role of cleaning bots in Mangrove
      • The role of gas price updater bots in Mangrove
  • Adresses
    • Deployment Addresses
  • Quick Links
    • Glossary
    • Website
    • Whitepaper
Powered by GitBook
On this page
  • MarketIdSet
  • Parameters
  • PoolUpdated
  • Parameters
  • PoolConfiguratorUpdated
  • Parameters
  • PriceOracleUpdated
  • Parameters
  • ACLManagerUpdated
  • Parameters
  • ACLAdminUpdated
  • Parameters
  • PriceOracleSentinelUpdated
  • Parameters
  • PoolDataProviderUpdated
  • Parameters
  • ProxyCreated
  • Parameters
  • AddressSet
  • Parameters
  • AddressSetAsProxy
  • Parameters
  • getMarketId
  • Return Values
  • setMarketId
  • Parameters
  • getAddress
  • Parameters
  • Return Values
  • setAddressAsProxy
  • Parameters
  • setAddress
  • Parameters
  • getPool
  • Return Values
  • setPoolImpl
  • Parameters
  • getPoolConfigurator
  • Return Values
  • setPoolConfiguratorImpl
  • Parameters
  • getPriceOracle
  • Return Values
  • setPriceOracle
  • Parameters
  • getACLManager
  • Return Values
  • setACLManager
  • Parameters
  • getACLAdmin
  • Return Values
  • setACLAdmin
  • Parameters
  • getPriceOracleSentinel
  • Return Values
  • setPriceOracleSentinel
  • Parameters
  • getPoolDataProvider
  • Return Values
  • setPoolDataProvider
  • Parameters
  1. Strat Lib
  2. Technical references
  3. API preferences
  4. Strats
  5. SRC
  6. Strategies
  7. Vendor
  8. AAVE
  9. V3
  10. Contracts
  11. Interfaces

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

Name
Type
Description

oldMarketId

string

The old id of the market

newMarketId

string

The new id of the market

PoolUpdated

event PoolUpdated(address oldAddress, address newAddress)

Emitted when the pool is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the Pool

newAddress

address

The new address of the Pool

PoolConfiguratorUpdated

event PoolConfiguratorUpdated(address oldAddress, address newAddress)

Emitted when the pool configurator is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the PoolConfigurator

newAddress

address

The new address of the PoolConfigurator

PriceOracleUpdated

event PriceOracleUpdated(address oldAddress, address newAddress)

Emitted when the price oracle is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the PriceOracle

newAddress

address

The new address of the PriceOracle

ACLManagerUpdated

event ACLManagerUpdated(address oldAddress, address newAddress)

Emitted when the ACL manager is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the ACLManager

newAddress

address

The new address of the ACLManager

ACLAdminUpdated

event ACLAdminUpdated(address oldAddress, address newAddress)

Emitted when the ACL admin is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the ACLAdmin

newAddress

address

The new address of the ACLAdmin

PriceOracleSentinelUpdated

event PriceOracleSentinelUpdated(address oldAddress, address newAddress)

Emitted when the price oracle sentinel is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the PriceOracleSentinel

newAddress

address

The new address of the PriceOracleSentinel

PoolDataProviderUpdated

event PoolDataProviderUpdated(address oldAddress, address newAddress)

Emitted when the pool data provider is updated.

Parameters

Name
Type
Description

oldAddress

address

The old address of the PoolDataProvider

newAddress

address

The new address of the PoolDataProvider

ProxyCreated

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

Emitted when a new proxy is created.

Parameters

Name
Type
Description

id

bytes32

The identifier of the proxy

proxyAddress

address

The address of the created proxy contract

implementationAddress

address

The 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

Name
Type
Description

id

bytes32

The identifier of the contract

oldAddress

address

The address of the old contract

newAddress

address

The 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

Name
Type
Description

id

bytes32

The identifier of the contract

proxyAddress

address

The address of the proxy contract

oldImplementationAddress

address

The address of the old implementation contract

newImplementationAddress

address

The 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

Name
Type
Description

[0]

string

The 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

Name
Type
Description

newMarketId

string

The 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

Name
Type
Description

id

bytes32

The id

Return Values

Name
Type
Description

[0]

address

The 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

Name
Type
Description

id

bytes32

The id

newImplementationAddress

address

The 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

Name
Type
Description

id

bytes32

The id

newAddress

address

The address to set

getPool

function getPool() external view returns (address)

Returns the address of the Pool proxy.

Return Values

Name
Type
Description

[0]

address

The 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

Name
Type
Description

newPoolImpl

address

The new Pool implementation

getPoolConfigurator

function getPoolConfigurator() external view returns (address)

Returns the address of the PoolConfigurator proxy.

Return Values

Name
Type
Description

[0]

address

The 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

Name
Type
Description

newPoolConfiguratorImpl

address

The new PoolConfigurator implementation

getPriceOracle

function getPriceOracle() external view returns (address)

Returns the address of the price oracle.

Return Values

Name
Type
Description

[0]

address

The address of the PriceOracle

setPriceOracle

function setPriceOracle(address newPriceOracle) external

Updates the address of the price oracle.

Parameters

Name
Type
Description

newPriceOracle

address

The address of the new PriceOracle

getACLManager

function getACLManager() external view returns (address)

Returns the address of the ACL manager.

Return Values

Name
Type
Description

[0]

address

The address of the ACLManager

setACLManager

function setACLManager(address newAclManager) external

Updates the address of the ACL manager.

Parameters

Name
Type
Description

newAclManager

address

The address of the new ACLManager

getACLAdmin

function getACLAdmin() external view returns (address)

Returns the address of the ACL admin.

Return Values

Name
Type
Description

[0]

address

The address of the ACL admin

setACLAdmin

function setACLAdmin(address newAclAdmin) external

Updates the address of the ACL admin.

Parameters

Name
Type
Description

newAclAdmin

address

The address of the new ACL admin

getPriceOracleSentinel

function getPriceOracleSentinel() external view returns (address)

Returns the address of the price oracle sentinel.

Return Values

Name
Type
Description

[0]

address

The address of the PriceOracleSentinel

setPriceOracleSentinel

function setPriceOracleSentinel(address newPriceOracleSentinel) external

Updates the address of the price oracle sentinel.

Parameters

Name
Type
Description

newPriceOracleSentinel

address

The address of the new PriceOracleSentinel

getPoolDataProvider

function getPoolDataProvider() external view returns (address)

Returns the address of the data provider.

Return Values

Name
Type
Description

[0]

address

The address of the DataProvider

setPoolDataProvider

function setPoolDataProvider(address newDataProvider) external

Updates the address of the data provider.

Parameters

Name
Type
Description

newDataProvider

address

The address of the new DataProvider

PreviousIPoolNextIPriceOracleGetter