Strategies Release Deployment Procedure

Smart Contract Deployments & Upgrade Procedure for Strategies Release

The following contracts will be deployed with the relevant release tags.

Upgrade procedure

Setting up Pool Manager

The following transactions will be made to the PoolManagerFactory by the GOVERNOR

  1. registerImplementation(400, <newly deployed PM>, <newly deployed PM Initializer>)

  2. enableUpgradePath(300, 400, address(0))

  3. enableUpgradePath(301, 400, address(0))

  4. setDefaultVersion(400)

After that, on each Pool Manager that will be upgraded, the following function will be called:

  1. upgrade(400, "") by PoolDelegate/SecurityAdmin

The list of pools that will have their pool manager upgraded are:

* AQRU
* Cash Management USDC
* Blue Chip Secured Lending USDC
* High Yield Corporate Loan USDC
* High Yield Corporate Loan WETH
* High Yield Secured Lending - USDC
* Syrup USDC
* syrup USDT

Setting up strategies

For each of the 3 instances of MapleStrategyFactory deployed, the following transactions will be made by GOVERNOR:

  1. registerImplementation(100, <aave/basic/sky strategyImplementation>, <aave/basic/sky strategyInitializer>)

  2. setDefaultVersion(100)

Setting up Globals

Following transactions will be made by the GOVERNOR or OPERATIONAL ADMIN

Upgrade Globals via Governor

  1. setImplementation(<newly deployed MapleGlobals implementation>)

Set Valid Instance Keys via Operational Admin

  1. setValidInstanceOf("STRATEGY_FACTORY", fixedTermLoanManagerFactory, true)

  2. setValidInstanceOf("STRATEGY_FACTORY", openTermLoanManagerFactory, true)

  3. setValidInstanceOf("STRATEGY_FACTORY", basicStrategyFactory, true)

  4. setValidInstanceOf("STRATEGY_FACTORY", aaveStrategyFactory, true)

  5. setValidInstanceOf("STRATEGY_FACTORY", skyStrategyFactory, true)

  6. setValidInstanceOf("STRATEGY_VAULT", aToken(USDC), true)

  7. setValidInstanceOf("STRATEGY_VAULT", aToken(USDT), true)

  8. setValidInstanceOf("STRATEGY_VAULT", sUSDS, true)

  9. setValidInstanceOf("PSM", usdsLitePSM, true)

Attaching Strategies

For each PoolManager of syrupUSDC, syrupUSDT and High-Yield Secured that needs a given strategy added, the following function will be called by the OPERATIONAL ADMIN

  1. addStrategy(<aave/basic/sky strategyFactory>, <aave/basic/sky initializer data>).

Strategy Manager Bot

Set Key in Globals to allow Bot to manage strategy positions.

  1. setValidInstanceOf("STRATEGY_MANAGER", <turnkey_bot_address>, true)

Last updated