1+ # -------------------------------------------------------------
2+ # Mar 2, 2026 - Reallocate from Curve AMO Strategy to Compounding Staking Strategy
3+ # -------------------------------------------------------------
4+ from world import *
5+
6+ def main ():
7+ with TemporaryForkForReallocations () as txs :
8+ # Before
9+ txs .append (vault_oeth_core .rebase (std ))
10+ txs .append (oeth_vault_value_checker .takeSnapshot (std ))
11+
12+ # Withdraw from Curve AMO Strategy
13+ txs .append (
14+ vault_oeth_admin .withdrawFromStrategy (
15+ OETH_CURVE_AMO_STRAT ,
16+ [WETH ],
17+ [(15 + 32 ) * 10 ** 18 ],
18+ {'from' : STRATEGIST }
19+ )
20+ )
21+
22+ # Deposit WETH to Compounding Staking Strategy
23+ txs .append (
24+ vault_oeth_admin .depositToStrategy (
25+ COMPOUNDING_STAKING_SSV_STRAT ,
26+ [WETH ],
27+ [32 * 10 ** 18 ],
28+ std
29+ )
30+ )
31+
32+ # After
33+ vault_change = vault_oeth_core .totalValue () - oeth_vault_value_checker .snapshots (STRATEGIST )[0 ]
34+ supply_change = oeth .totalSupply () - oeth_vault_value_checker .snapshots (STRATEGIST )[1 ]
35+ profit = vault_change - supply_change
36+ txs .append (oeth_vault_value_checker .checkDelta (profit , (1 * 10 ** 18 ), vault_change , (1 * 10 ** 18 ), std ))
37+ print ("-----" )
38+ print ("Profit" , "{:.6f}" .format (profit / 10 ** 18 ), profit )
39+ print ("OETH supply change" , "{:.6f}" .format (supply_change / 10 ** 18 ), supply_change )
40+ print ("Vault Change" , "{:.6f}" .format (vault_change / 10 ** 18 ), vault_change )
41+ print ("-----" )
42+
43+
44+
45+ # -------------------------------------
46+ # Mar 2, 2026 - Withdraw 106 WETH from BASE Curve AMO for withdrawal requests
47+ # -------------------------------------
48+ from aerodrome_harvest import *
49+ from brownie import accounts
50+
51+ def main ():
52+ with TemporaryForkForReallocations () as txs :
53+ # Rebase
54+ txs .append (vault_core .rebase ({ 'from' : OETHB_MULTICHAIN_STRATEGIST }))
55+
56+ # Take Vault snapshot
57+ txs .append (vault_value_checker .takeSnapshot ({ 'from' : OETHB_MULTICHAIN_STRATEGIST }))
58+
59+ # AMO pool before
60+ wethPoolBalance = weth .balanceOf (CURVE_POOL_BASE )
61+ oethPoolBalance = oethb .balanceOf (CURVE_POOL_BASE )
62+ totalPool = wethPoolBalance + oethPoolBalance
63+ price_before = curve_pool .get_dy (1 , 0 , 10 * 10 ** 18 )
64+
65+ print ("Curve SuperOETH/WETH Pool before" )
66+ print ("Pool WETH " , "{:.6f}" .format (wethPoolBalance / 10 ** 18 ), wethPoolBalance * 100 / totalPool )
67+ print ("Pool SuperOETH " , "{:.6f}" .format (oethPoolBalance / 10 ** 18 ), oethPoolBalance * 100 / totalPool )
68+ print ("Pool Total " , "{:.6f}" .format (totalPool / 10 ** 18 ))
69+ print ("-----" )
70+
71+ # Withdraw WETH from Curve AMO strategy
72+ txs .append (
73+ vault_admin .withdrawFromStrategy (
74+ OETHB_CURVE_AMO_STRATEGY ,
75+ [weth ],
76+ [106 * 10 ** 18 ],
77+ {'from' : OETHB_MULTICHAIN_STRATEGIST }
78+ )
79+ )
80+
81+ # AMO pool after
82+ wethPoolBalance = weth .balanceOf (CURVE_POOL_BASE )
83+ oethPoolBalance = oethb .balanceOf (CURVE_POOL_BASE )
84+ totalPool = wethPoolBalance + oethPoolBalance
85+ price_after = curve_pool .get_dy (1 , 0 , 10 * 10 ** 18 )
86+
87+ print ("Curve SuperOETH/WETH Pool after" )
88+ print ("Pool WETH " , "{:.6f}" .format (wethPoolBalance / 10 ** 18 ), wethPoolBalance * 100 / totalPool )
89+ print ("Pool SuperOETH " , "{:.6f}" .format (oethPoolBalance / 10 ** 18 ), oethPoolBalance * 100 / totalPool )
90+ print ("Pool Total " , "{:.6f}" .format (totalPool / 10 ** 18 ))
91+ print ("SuperOETH/WETH Curve prices before and after" , "{:.6f}" .format (price_before / 10 ** 19 ), "{:.6f}" .format (price_after / 10 ** 19 ))
92+
93+ # After
94+ vault_change = vault_core .totalValue () - vault_value_checker .snapshots (OETHB_MULTICHAIN_STRATEGIST )[0 ]
95+ supply_change = oethb .totalSupply () - vault_value_checker .snapshots (OETHB_MULTICHAIN_STRATEGIST )[1 ]
96+ profit = vault_change - supply_change
97+ txs .append (vault_value_checker .checkDelta (profit , (1 * 10 ** 18 ), vault_change , (10 * 10 ** 18 ), {'from' : OETHB_MULTICHAIN_STRATEGIST }))
98+ print ("-----" )
99+ print ("Profit" , "{:.6f}" .format (profit / 10 ** 18 ), profit )
100+ print ("SuperOETH supply change" , "{:.6f}" .format (supply_change / 10 ** 18 ), supply_change )
101+ print ("Vault Change" , "{:.6f}" .format (vault_change / 10 ** 18 ), vault_change )
102+ print ("-----" )
0 commit comments