Skip to content

Latest commit

 

History

History
64 lines (53 loc) · 2.22 KB

YPP-0079.md

File metadata and controls

64 lines (53 loc) · 2.22 KB

Proposal

Deploy a strategy lever which allows user to create a leveraged position of strategy token

Background

The StrategyLever builds on Strategy tokens as collateral to allow leveraged LP positions. While the spread between LP returns and fyToken borrowing rates are unlikely to be very attractive for users right now, this allows us to bootstrap liquidity on the pools at a low cost. Building up liquidity unlocks other features such as stEthLever and CrabLever.

Details

In this proposal we are going to deploy Giver & StrategyLever and orchestrate them to give relevant permissions.

Steps:

  1. Deploy giver (no need for governance approval)
  2. Orchestrate giver
    1. Grant permission on Cauldron for give to the Giver
    2. Grant permission on Giver for banIlk to the Timelock
    3. Remove ROOT permission for the deployer on Giver
  3. Deploy StrategyLever (no need for governance approval)
  4. Orchestrate Strategy Lever
    1. Grant permission on Giver for give to the lever
    2. Grant permission on Giver for seize to the lever
  5. Set flashFee factor for joins & fyTokens

Configuration parameters:

// ----- deployment parameters -----
export const contractDeployments: ContractDeployment[] = [
  {
    addressFile: 'protocol.json',
    name: GIVER,
    contract: 'Giver',
    args: [() => protocol().getOrThrow(CAULDRON)],
  },
  {
    addressFile: 'protocol.json',
    name: YIELD_STRATEGY_LEVER,
    contract: 'YieldStrategyLever',
    args: [() => protocol().getOrThrow(GIVER)],
  },
]

/// @notice Flashfeefactor to be set on asset's join
/// @param assetId
/// @param flashFeeAmount
export const joinFlashFees: [string, string][] = [
  ['0x303000000000', '0'],
  ['0x303100000000', '0'],
  ['0x303200000000', '0'],
]

/// @notice Flashfeefactor to be set on fyTokens
/// @param seriesId
/// @param flashFee
export const fyTokenFlashFees: [string, string][] = [
  ['0x303030380000', '0'],
  ['0x303130380000', '0'],
  ['0x303230380000', '0'],
]

Testing

Testing was done on tenderly & local forks.