From 6b9c0bd9a366c30d6e75b9eb124033404a7f9d6f Mon Sep 17 00:00:00 2001 From: Eric Guan Date: Fri, 13 Jan 2023 08:16:09 +0000 Subject: [PATCH 1/2] Make v1 pool refresh optional, same as v2 pools. --- tinyman/v1/pools.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tinyman/v1/pools.py b/tinyman/v1/pools.py index 91bbde4..62601c0 100644 --- a/tinyman/v1/pools.py +++ b/tinyman/v1/pools.py @@ -284,11 +284,12 @@ def convert(self, amount: AssetAmount): return AssetAmount(self.asset1, int(amount.amount * self.asset2_price)) def fetch_mint_quote( - self, amount_a: AssetAmount, amount_b: AssetAmount = None, slippage=0.05 + self, amount_a: AssetAmount, amount_b: AssetAmount = None, slippage=0.05, refresh=True ): amount1 = amount_a if amount_a.asset == self.asset1 else amount_b amount2 = amount_a if amount_a.asset == self.asset2 else amount_b - self.refresh() + if refresh: + self.refresh() if not self.exists: raise Exception("Pool has not been bootstrapped yet!") if self.issued_liquidity: @@ -322,10 +323,11 @@ def fetch_mint_quote( ) return quote - def fetch_burn_quote(self, liquidity_asset_in, slippage=0.05): + def fetch_burn_quote(self, liquidity_asset_in, slippage=0.05, refresh=True): if isinstance(liquidity_asset_in, int): liquidity_asset_in = AssetAmount(self.liquidity_asset, liquidity_asset_in) - self.refresh() + if refresh: + self.refresh() asset1_amount = ( liquidity_asset_in.amount * self.asset1_reserves ) / self.issued_liquidity @@ -344,10 +346,11 @@ def fetch_burn_quote(self, liquidity_asset_in, slippage=0.05): return quote def fetch_fixed_input_swap_quote( - self, amount_in: AssetAmount, slippage=0.05 + self, amount_in: AssetAmount, slippage=0.05, refresh=True ) -> SwapQuote: asset_in, asset_in_amount = amount_in.asset, amount_in.amount - self.refresh() + if refresh: + self.refresh() if asset_in == self.asset1: asset_out = self.asset2 input_supply = self.asset1_reserves @@ -390,10 +393,11 @@ def fetch_fixed_input_swap_quote( return quote def fetch_fixed_output_swap_quote( - self, amount_out: AssetAmount, slippage=0.05 + self, amount_out: AssetAmount, slippage=0.05, refresh=True ) -> SwapQuote: asset_out, asset_out_amount = amount_out.asset, amount_out.amount - self.refresh() + if refresh: + self.refresh() if asset_out == self.asset1: asset_in = self.asset2 input_supply = self.asset2_reserves From a5368db205ccdd1e45487b726552355fedba2368 Mon Sep 17 00:00:00 2001 From: Eric Guan Date: Fri, 13 Jan 2023 11:40:05 -0800 Subject: [PATCH 2/2] run black --- tinyman/v1/pools.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tinyman/v1/pools.py b/tinyman/v1/pools.py index 62601c0..8d35837 100644 --- a/tinyman/v1/pools.py +++ b/tinyman/v1/pools.py @@ -284,7 +284,11 @@ def convert(self, amount: AssetAmount): return AssetAmount(self.asset1, int(amount.amount * self.asset2_price)) def fetch_mint_quote( - self, amount_a: AssetAmount, amount_b: AssetAmount = None, slippage=0.05, refresh=True + self, + amount_a: AssetAmount, + amount_b: AssetAmount = None, + slippage=0.05, + refresh=True, ): amount1 = amount_a if amount_a.asset == self.asset1 else amount_b amount2 = amount_a if amount_a.asset == self.asset2 else amount_b