Skip to content

Commit ab826ba

Browse files
authored
changing data type for snapshot (#1272)
* changing data type for snapshot * changing data type for snapshot * further restructuring * further restructuring * further restructuring * further restructuring * further restructuring * further restructuring * further restructuring * further restructuring * further restructuring * further restructuring
1 parent 65b2e38 commit ab826ba

39 files changed

+127
-182
lines changed

x/amm/keeper/abci.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func (k Keeper) GetStackedSlippage(ctx sdk.Context, poolId uint64) osmomath.BigD
1818
return osmomath.ZeroBigDec()
1919
}
2020
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
21-
return pool.StackedRatioFromSnapshot(ctx, k.oracleKeeper, &snapshot)
21+
return pool.StackedRatioFromSnapshot(snapshot)
2222
}
2323

2424
func (k Keeper) ApplySwapRequest(ctx sdk.Context, msg sdk.Msg) error {

x/amm/keeper/calc_in_amt_given_out.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ func (k Keeper) CalcInAmtGivenOut(
1313
ctx sdk.Context,
1414
poolId uint64,
1515
oracle types.OracleKeeper,
16-
snapshot *types.Pool,
16+
snapshot types.SnapshotPool,
1717
tokensOut sdk.Coins, tokenInDenom string, swapFee osmomath.BigDec) (
1818
tokenIn sdk.Coin, slippage osmomath.BigDec, err error,
1919
) {
@@ -22,5 +22,5 @@ func (k Keeper) CalcInAmtGivenOut(
2222
return sdk.Coin{}, osmomath.ZeroBigDec(), errorsmod.Wrapf(types.ErrInvalidPool, "invalid pool")
2323
}
2424

25-
return p.CalcInAmtGivenOut(ctx, oracle, snapshot, tokensOut, tokenInDenom, swapFee, k.accountedPoolKeeper)
25+
return p.CalcInAmtGivenOut(ctx, oracle, snapshot, tokensOut, tokenInDenom, swapFee)
2626
}

x/amm/keeper/calc_in_amt_given_out_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package keeper_test
33
import (
44
"cosmossdk.io/math"
55
sdk "github.com/cosmos/cosmos-sdk/types"
6+
ammtypes "github.com/elys-network/elys/x/amm/types"
67
ptypes "github.com/elys-network/elys/x/parameter/types"
78
"github.com/osmosis-labs/osmosis/osmomath"
89
)
@@ -19,7 +20,7 @@ func (suite *AmmKeeperTestSuite) TestCalcInAmtGivenOut() {
1920
suite.ResetSuite()
2021
},
2122
func() {
22-
_, _, err := suite.app.AmmKeeper.CalcInAmtGivenOut(suite.ctx, 0, suite.app.OracleKeeper, nil, sdk.Coins{}, "", osmomath.ZeroBigDec())
23+
_, _, err := suite.app.AmmKeeper.CalcInAmtGivenOut(suite.ctx, 0, suite.app.OracleKeeper, ammtypes.SnapshotPool{}, sdk.Coins{}, "", osmomath.ZeroBigDec())
2324
suite.Require().Error(err)
2425
},
2526
},
@@ -34,8 +35,8 @@ func (suite *AmmKeeperTestSuite) TestCalcInAmtGivenOut() {
3435

3536
amount := math.NewInt(100000000000)
3637
pool := suite.CreateNewAmmPool(addr, true, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), ptypes.ATOM, amount.MulRaw(10), amount.MulRaw(10))
37-
38-
_, _, err := suite.app.AmmKeeper.CalcInAmtGivenOut(suite.ctx, pool.PoolId, suite.app.OracleKeeper, &pool, sdk.NewCoins(sdk.NewCoin(ptypes.BaseCurrency, math.NewInt(10000))), ptypes.ATOM, osmomath.ZeroBigDec())
38+
snapshot := suite.app.AmmKeeper.GetPoolWithAccountedBalance(suite.ctx, pool.PoolId)
39+
_, _, err := suite.app.AmmKeeper.CalcInAmtGivenOut(suite.ctx, pool.PoolId, suite.app.OracleKeeper, snapshot, sdk.NewCoins(sdk.NewCoin(ptypes.BaseCurrency, math.NewInt(10000))), ptypes.ATOM, osmomath.ZeroBigDec())
3940
suite.Require().NoError(err)
4041
},
4142
},

x/amm/keeper/calc_in_route_spot_price.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func (k Keeper) CalcInRouteSpotPrice(ctx sdk.Context,
6969
// Estimate swap
7070
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
7171
cacheCtx, _ := ctx.CacheContext()
72-
tokenOut, swapSlippage, _, weightBalanceBonus, oracleOutAmount, swapFee, err := k.SwapOutAmtGivenIn(cacheCtx, pool.PoolId, k.oracleKeeper, &snapshot, tokensIn, tokenOutDenom, swapFee, osmomath.OneBigDec(), takersFee)
72+
tokenOut, swapSlippage, _, weightBalanceBonus, oracleOutAmount, swapFee, err := k.SwapOutAmtGivenIn(cacheCtx, pool.PoolId, k.oracleKeeper, snapshot, tokensIn, tokenOutDenom, swapFee, osmomath.OneBigDec(), takersFee)
7373
if err != nil {
7474
return osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), err
7575
}
@@ -138,9 +138,7 @@ func (k Keeper) CalcInRouteSpotPrice(ctx sdk.Context,
138138
return osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), types.ErrPoolNotFound
139139
}
140140

141-
// Estimate swap
142-
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
143-
rate, err := pool.GetTokenARate(ctx, k.oracleKeeper, &snapshot, tokenInDenom, tokenOutDenom, k.accountedPoolKeeper)
141+
rate, err := pool.GetTokenARate(ctx, k.oracleKeeper, tokenInDenom, tokenOutDenom)
144142
if err != nil {
145143
return osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), err
146144
}

x/amm/keeper/calc_out_amt_given_in.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ func (k Keeper) CalcOutAmtGivenIn(
1313
ctx sdk.Context,
1414
poolId uint64,
1515
oracle types.OracleKeeper,
16-
snapshot *types.Pool,
16+
snapshot types.SnapshotPool,
1717
tokensIn sdk.Coins,
1818
tokenOutDenom string,
1919
swapFee osmomath.BigDec,
@@ -23,5 +23,5 @@ func (k Keeper) CalcOutAmtGivenIn(
2323
return sdk.Coin{}, osmomath.ZeroBigDec(), errorsmod.Wrapf(types.ErrInvalidPool, "invalid pool")
2424
}
2525

26-
return p.CalcOutAmtGivenIn(ctx, oracle, snapshot, tokensIn, tokenOutDenom, swapFee, k.accountedPoolKeeper)
26+
return p.CalcOutAmtGivenIn(ctx, oracle, snapshot, tokensIn, tokenOutDenom, swapFee)
2727
}

x/amm/keeper/calc_out_amt_given_in_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package keeper_test
33
import (
44
"cosmossdk.io/math"
55
sdk "github.com/cosmos/cosmos-sdk/types"
6+
ammtypes "github.com/elys-network/elys/x/amm/types"
67
ptypes "github.com/elys-network/elys/x/parameter/types"
78
"github.com/osmosis-labs/osmosis/osmomath"
89
)
@@ -19,7 +20,7 @@ func (suite *AmmKeeperTestSuite) TestCalcOutAmtGivenIn() {
1920
suite.ResetSuite()
2021
},
2122
func() {
22-
_, _, err := suite.app.AmmKeeper.CalcOutAmtGivenIn(suite.ctx, 0, suite.app.OracleKeeper, nil, sdk.Coins{}, "", osmomath.ZeroBigDec())
23+
_, _, err := suite.app.AmmKeeper.CalcOutAmtGivenIn(suite.ctx, 0, suite.app.OracleKeeper, ammtypes.SnapshotPool{}, sdk.Coins{}, "", osmomath.ZeroBigDec())
2324
suite.Require().Error(err)
2425
},
2526
},
@@ -34,8 +35,8 @@ func (suite *AmmKeeperTestSuite) TestCalcOutAmtGivenIn() {
3435

3536
amount := math.NewInt(100000000000)
3637
pool := suite.CreateNewAmmPool(addr, true, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), ptypes.ATOM, amount.MulRaw(10), amount.MulRaw(10))
37-
38-
_, _, err := suite.app.AmmKeeper.CalcOutAmtGivenIn(suite.ctx, pool.PoolId, suite.app.OracleKeeper, &pool, sdk.NewCoins(sdk.NewCoin(ptypes.BaseCurrency, math.NewInt(10000))), ptypes.ATOM, osmomath.ZeroBigDec())
38+
snapshot := suite.app.AmmKeeper.GetPoolWithAccountedBalance(suite.ctx, pool.PoolId)
39+
_, _, err := suite.app.AmmKeeper.CalcOutAmtGivenIn(suite.ctx, pool.PoolId, suite.app.OracleKeeper, snapshot, sdk.NewCoins(sdk.NewCoin(ptypes.BaseCurrency, math.NewInt(10000))), ptypes.ATOM, osmomath.ZeroBigDec())
3940
suite.Require().NoError(err)
4041
},
4142
},

x/amm/keeper/calc_out_route_spot_price.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (k Keeper) CalcOutRouteSpotPrice(ctx sdk.Context, tokenOut sdk.Coin, routes
5252
// Estimate swap
5353
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
5454
cacheCtx, _ := ctx.CacheContext()
55-
swapResult, swapSlippage, _, weightBalanceBonus, _, swapFee, err := k.SwapInAmtGivenOut(cacheCtx, pool.PoolId, k.oracleKeeper, &snapshot, tokensOut, tokenInDenom, swapFee, osmomath.OneBigDec(), takersFee)
55+
swapResult, swapSlippage, _, weightBalanceBonus, _, swapFee, err := k.SwapInAmtGivenOut(cacheCtx, pool.PoolId, k.oracleKeeper, snapshot, tokensOut, tokenInDenom, swapFee, osmomath.OneBigDec(), takersFee)
5656
if err != nil {
5757
return osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), err
5858
}
@@ -115,8 +115,7 @@ func (k Keeper) CalcOutRouteSpotPrice(ctx sdk.Context, tokenOut sdk.Coin, routes
115115
}
116116

117117
// Estimate swap
118-
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
119-
rate, err := pool.GetTokenARate(ctx, k.oracleKeeper, &snapshot, tokenInDenom, tokenOutDenom, k.accountedPoolKeeper)
118+
rate, err := pool.GetTokenARate(ctx, k.oracleKeeper, tokenInDenom, tokenOutDenom)
120119
if err != nil {
121120
return osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), sdk.Coin{}, osmomath.ZeroBigDec(), osmomath.ZeroBigDec(), err
122121
}

x/amm/keeper/create_multihop_expected_swap_outs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func (k Keeper) createMultihopExpectedSwapOuts(
2828
}
2929

3030
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
31-
tokenIn, _, err := pool.CalcInAmtGivenOut(ctx, k.oracleKeeper, &snapshot, sdk.NewCoins(tokenOut), route.TokenInDenom, pool.GetPoolParams().GetBigDecSwapFee().Quo(osmomath.NewBigDec(int64(len(routes)))), k.accountedPoolKeeper)
31+
tokenIn, _, err := pool.CalcInAmtGivenOut(ctx, k.oracleKeeper, snapshot, sdk.NewCoins(tokenOut), route.TokenInDenom, pool.GetPoolParams().GetBigDecSwapFee().Quo(osmomath.NewBigDec(int64(len(routes)))))
3232
if err != nil {
3333
return nil, err
3434
}

x/amm/keeper/estimate_price.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ func (k Keeper) EstimatePrice(ctx sdk.Context, tokenInDenom, baseCurrency string
1919

2020
// Executes the swap in the pool and stores the output. Updates pool assets but
2121
// does not actually transfer any tokens to or from the pool.
22-
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
23-
24-
rate, err := pool.GetTokenARate(ctx, k.oracleKeeper, &snapshot, tokenInDenom, baseCurrency, k.accountedPoolKeeper)
22+
rate, err := pool.GetTokenARate(ctx, k.oracleKeeper, tokenInDenom, baseCurrency)
2523
if err != nil {
2624
return osmomath.ZeroBigDec()
2725
}

x/amm/keeper/fee.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func (k Keeper) SwapFeesToRevenueToken(ctx sdk.Context, pool types.Pool, fee sdk
5555
// Executes the swap in the pool and stores the output. Updates pool assets but
5656
// does not actually transfer any tokens to or from the pool.
5757
snapshot := k.GetPoolWithAccountedBalance(ctx, pool.PoolId)
58-
tokenOutCoin, _, slippageAmount, _, oracleOutAmount, _, err := pool.SwapOutAmtGivenIn(ctx, k.oracleKeeper, &snapshot, sdk.Coins{tokenIn}, pool.PoolParams.FeeDenom, osmomath.ZeroBigDec(), k.accountedPoolKeeper, osmomath.OneBigDec(), params, takersFees)
58+
tokenOutCoin, _, slippageAmount, _, oracleOutAmount, _, err := pool.SwapOutAmtGivenIn(ctx, k.oracleKeeper, snapshot, sdk.Coins{tokenIn}, pool.PoolParams.FeeDenom, osmomath.ZeroBigDec(), k.accountedPoolKeeper, osmomath.OneBigDec(), params, takersFees)
5959
if err != nil {
6060
return err
6161
}

0 commit comments

Comments
 (0)