diff --git a/brownie/buyback.py b/brownie/buyback.py index d58087169b..a6b16c3993 100644 --- a/brownie/buyback.py +++ b/brownie/buyback.py @@ -19,7 +19,6 @@ def silent_tx(): with redirect_stdout(f): yield - def sim_buyback_ogv(amount): """ Run a simulated buyback, and return how much OGV we get back. @@ -34,7 +33,7 @@ def sim_buyback_ogv(amount): return after - before -def build_buyback_tx(max_dollars=5000, max_slippage=2.0): +def build_buyback_tx(max_dollars=5000, max_slippage=2.0, with_fork=True): """ Build a buyback transaction and print a varity of information about it. @@ -83,12 +82,17 @@ def build_buyback_tx(max_dollars=5000, max_slippage=2.0): "Minimum slippage less expected slippage. Transaction would fail." ) - # Display transaction data - with TemporaryFork(): - with silent_tx(): - tx = buyback.distributeAndSwap(buyback_amount, min_slippage_ogv, {"from": STRATEGIST}) - print("") - print("To: {}".format(tx.receiver)) - print("Data: {}".format(tx.input)) - print(tx.error()) + if with_fork: + # Display transaction data + with TemporaryFork(): + with silent_tx(): + tx = buyback.distributeAndSwap(buyback_amount, min_slippage_ogv, {"from": STRATEGIST}) + + print("") + print("To: {}".format(tx.receiver)) + print("Data: {}".format(tx.input)) + print(tx.error()) + else: + tx = buyback.distributeAndSwap(buyback_amount, min_slippage_ogv, {"from": STRATEGIST}) + return tx diff --git a/brownie/runlogs/2023_07_strategist.py b/brownie/runlogs/2023_07_strategist.py index 27eee9c527..5df5374dd1 100644 --- a/brownie/runlogs/2023_07_strategist.py +++ b/brownie/runlogs/2023_07_strategist.py @@ -335,4 +335,45 @@ def main(): from buyback import * def main(): - build_buyback_tx(max_dollars=2750, max_slippage=2) \ No newline at end of file + build_buyback_tx(max_dollars=2750, max_slippage=2) + +# ----------------------------------- +# July 21, 2023 - OGV Buyback #2 +# ----------------------------------- +from buyback import * + +def main(): + build_buyback_tx(max_dollars=3100, max_slippage=2) + +# -------------------------------- +# July 24, 2023 - OETH AMO Deposit +# -------------------------------- + +from world import * + +txs = [] +with TemporaryFork(): + # Before + txs.append(vault_oeth_core.rebase({'from':STRATEGIST})) + txs.append(oeth_vault_value_checker.takeSnapshot({'from':STRATEGIST})) + + # Strategist + txs.append(vault_oeth_admin.depositToStrategy(OETH_CONVEX_OETH_ETH_STRAT, [weth], [80 * 1e18], {'from': STRATEGIST})) + + #After + vault_change = vault_oeth_core.totalValue() - oeth_vault_value_checker.snapshots(STRATEGIST)[0] + supply_change = oeth.totalSupply() - oeth_vault_value_checker.snapshots(STRATEGIST)[1] + profit = vault_change - supply_change + txs.append(oeth_vault_value_checker.checkDelta(profit, (1 * 10**18), vault_change, (1 * 10**18), {'from': STRATEGIST})) + print("-----") + print("Profit", "{:.6f}".format(profit / 10**18), profit) + print("Vault Change", "{:.6f}".format(vault_change / 10**18), vault_change) + print("Variance", 10**17) + print("-----") + print("Est Gas Max: {:,}".format(1.10*sum([x.gas_used for x in txs]))) + + print("Schedule the following transactions on Gnosis Safe") + for idx, item in enumerate(txs): + print("Transaction ", idx) + print("To: ", item.receiver) + print("Data (Hex encoded): ", item.input, "\n")