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