Permissions Update Request #10

PUR#10

TL;DR

payload matches description, but contains a bug for stakewise contract. see comments tx 61-62

TX 0-8, 15: Revokes

revoke old/deprecated contracts:

  • RocketDepositPool.deposit() (old address)
  • XDaiForeignBridge.safeExecuteSignaturesWithAutoGasLimit(...) (old address)
  • PendleRouterV4.swapExactTokenForPt (old)
  • PendleRouterV4.swapExactPtForToken (old)
  • PendleMarketV3.approve (position expired)
  • USDe.approve(PendleRouterV4, *) (see TX 6-7)

TX 9: Metadata

n/a

TX 10-13: Approvals

introduce new (kpk) vaults on weth and stablecoins:

  • WETH.approve(OR(..., kpk_ETH_Yield, ...), *)
  • USDC.approve(OR(..., kpk_USDC_Prime_Core, euler_eUSDC-105, kpk_USDC_Yield, ...), *)
  • USDT.approve(OR(..., kpk_USDT_Prime_V2, ...), *)
  • GHO.approve(OR(..., sGHO, ...), *)

TX 14, 19-20, 24-33: CoW Swap Orders

enable more token swaps via CowswapOrderSigner:

  • add to lst bundle (and reorganised/consolidated): eETH, ETHx, weETH
  • add to stable bundle: syrupUSDT, syrupUSDC, sGHO

also add corresponding approves:

  • sGHO.approve(GPv2VaultRelayer, *)
  • syrupUSDC.approve(GPv2VaultRelayer, *)
  • syrupUSDT.approve(GPv2VaultRelayer, *)
  • eETH.approve(OR(etherfi_LiquidityPool, weETH, GPv2VaultRelayer), *) (also approve weETH wrapping)
  • ETHx.approve(OR(stader_UserWithdrawalManager, GPv2VaultRelayer), *)
  • weETH.approve(GPv2VaultRelayer, *)

TX 16-17: Gearbox Withdrawals

  • gearbox_kpkWETH.withdraw(_, AVATAR, AVATAR)
  • gearbox_kpkwstETH.withdraw(_, AVATAR, AVATAR)

TX 18: Gnosis Bridge

move bridge permissions from old to new one (see TX 3)

  • BridgeRouter.safeExecuteSignaturesWithAutoGasLimit

TX 21-23: Aave sGHO

new savings gho approve (cow swap), deposit, withdraw and redeem:

  • sGHO.deposit(*, AVATAR)
  • sGHO.withdraw(*, AVATAR, AVATAR)
  • sGHO.redeem(*, AVATAR, AVATAR)

TX 34-35: eETH (Un)wrapping

allow weETH.wrap(*) and weETH.unwrap(*)

TX 36-51: Morpho KPK Vaults

deposit, withdraw and redeem on morpho kpk vaults:

  • KPK_ETH_Yield.deposit(*, AVATAR)
  • KPK_ETH_Yield.withdraw(*, AVATAR, AVATAR)
  • KPK_ETH_Yield.redeem(*, AVATAR, AVATAR)
  • KPK_USDC_Prime_Core.deposit(*, AVATAR)
  • KPK_USDC_Prime_Core.withdraw(*, AVATAR, AVATAR)
  • KPK_USDC_Prime_Core.redeem(*, AVATAR, AVATAR)
  • KPK_USDC_Yield.deposit(*, AVATAR)
  • KPK_USDC_Yield.withdraw(*, AVATAR, AVATAR)
  • KPK_USDC_Yield.redeem(*, AVATAR, AVATAR)
  • KPK_USDT_Prime.deposit(*, AVATAR)
  • KPK_USDT_Prime.withdraw(*, AVATAR, AVATAR)
  • KPK_USDT_Prime.redeem(*, AVATAR, AVATAR)

TX 52-53: New Rocket Pool

  • RocketDepositPool.deposit() (new address)

TX 54-60: Stader ETHx

allow ETH depositing, withdrawing and claiming on ETHx:

  • stader_StakePoolsManager.deposit(AVATAR)
  • stader_StakePoolsManager.deposit(AVATAR, *) (variant with referral id)
  • stader_UserWithdrawalManager.requestWithdraw(*, AVATAR)
  • stader_UserWithdrawalManager.requestWithdraw(*, AVATAR, *)
  • stader_UserWithdrawalManager.claim(*)

TX 61-62: StakeWise V3

!!! this is an implementation contract!

!!! bug in your defi kit: fix: scope `depositAndMintOsToken` on the vault proxy, not the implementation by gosuto-inzasheru · Pull Request #545 · karpatkey/defi-kit · GitHub

  • stakewise_EthVault.depositAndMintOsToken(AVATAR, *, *)

TX 63-69: ether.fi

liquidity pool deposit/withdraw/claim, and the eth → weETH zap

  • etherfi_LiquidityPool.deposit()
  • etherfi_LiquidityPool.requestWithdraw(AVATAR, *)
  • etherfi_WithdrawRequestNFT.claimWithdraw(*)
  • etherfi_DepositAdapter.depositETHForWeETH(*)

TX 70-73: Euler (VBILL/USDC)

euler usdc lend vault, usual deposit/withdraw/redeem:

  • euler_eUSDC-105.deposit(*, AVATAR)
  • euler_eUSDC-105.withdraw(*, AVATAR, AVATAR)
  • euler_eUSDC-105.redeem(*, AVATAR, AVATAR)

TX 74: Metadata

n/a