Skip to content

Commit b955384

Browse files
committed
adding skip trigger boolean
1 parent 1de376a commit b955384

26 files changed

+93
-85
lines changed

x/perpetual/keeper/add_collateral.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/elys-network/elys/v7/x/perpetual/types"
1313
)
1414

15-
func (k Keeper) AddCollateral(ctx sdk.Context, mtp *types.MTP, pool *types.Pool, collateral sdk.Coin, ammPool *ammtypes.Pool) (sdk.Coin, error) {
15+
func (k Keeper) AddCollateral(ctx sdk.Context, mtp *types.MTP, pool *types.Pool, collateral sdk.Coin, ammPool *ammtypes.Pool, skipTriggerCheck bool) (sdk.Coin, error) {
1616
entry, found := k.assetProfileKeeper.GetEntry(ctx, ptypes.BaseCurrency)
1717
if !found {
1818
return sdk.Coin{}, errorsmod.Wrapf(assetprofiletypes.ErrAssetProfileNotFound, "asset %s not found", ptypes.BaseCurrency)
@@ -89,7 +89,7 @@ func (k Keeper) AddCollateral(ctx sdk.Context, mtp *types.MTP, pool *types.Pool,
8989
if err := msgOpen.ValidateBasic(); err != nil {
9090
return sdk.Coin{}, err
9191
}
92-
_, err := k.Open(ctx, &msgOpen)
92+
_, err := k.Open(ctx, &msgOpen, skipTriggerCheck)
9393
if err != nil {
9494
return sdk.Coin{}, err
9595
}

x/perpetual/keeper/close_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
5050
StopLossPrice: math.LegacyZeroDec(),
5151
}
5252

53-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
53+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
5454
suite.Require().NoError(err)
5555
suite.app.AssetprofileKeeper.RemoveEntry(suite.ctx, ptypes.BaseCurrency)
5656
return &types.MsgClose{
@@ -83,7 +83,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
8383
StopLossPrice: math.LegacyZeroDec(),
8484
}
8585

86-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
86+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
8787
suite.Require().NoError(err)
8888

8989
return &types.MsgClose{
@@ -116,7 +116,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
116116
StopLossPrice: math.LegacyZeroDec(),
117117
}
118118

119-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
119+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
120120
suite.Require().NoError(err)
121121

122122
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{
@@ -155,7 +155,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
155155
TakeProfitPrice: tradingAssetPrice.MulInt64(4),
156156
StopLossPrice: math.LegacyZeroDec(),
157157
}
158-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
158+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
159159
suite.Require().NoError(err)
160160
return &types.MsgClose{
161161
Creator: positionCreator.String(),
@@ -184,7 +184,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
184184
TakeProfitPrice: math.LegacyMustNewDecFromStr("0.95"),
185185
StopLossPrice: math.LegacyZeroDec(),
186186
}
187-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
187+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
188188
suite.Require().NoError(err)
189189
return &types.MsgClose{
190190
Creator: positionCreator.String(),
@@ -218,7 +218,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
218218
// TakeProfitPrice: tradingAssetPrice.MulInt64(4),
219219
// StopLossPrice: math.LegacyZeroDec(),
220220
// }
221-
// position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
221+
// position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
222222
// suite.Require().NoError(err)
223223

224224
// // Increase unpaid liability
@@ -253,7 +253,7 @@ func (suite *PerpetualKeeperTestSuite) TestClose() {
253253
TakeProfitPrice: math.LegacyMustNewDecFromStr("0.95"),
254254
StopLossPrice: math.LegacyZeroDec(),
255255
}
256-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
256+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
257257
suite.Require().NoError(err)
258258

259259
suite.app.AmmKeeper.SetDenomLiquidity(suite.ctx, ammtypes.DenomLiquidity{

x/perpetual/keeper/force_close.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func (k Keeper) ForceClose(ctx sdk.Context, mtp *types.MTP, pool *types.Pool, am
3434
}
3535

3636
if addCollateral && !collateralToAdd.IsNil() && collateralToAdd.IsPositive() {
37-
_, err = k.AddCollateral(ctx, mtp, pool, collateralToAdd, ammPool)
37+
_, err = k.AddCollateral(ctx, mtp, pool, collateralToAdd, ammPool, true)
3838
if err != nil {
3939
return math.Int{}, math.Int{}, types.PerpetualFees{}, math.LegacyZeroDec(), math.LegacyZeroDec(), err
4040
}

x/perpetual/keeper/force_close_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (suite *PerpetualKeeperTestSuite) TestForceCloseShort_Successful() {
5151
StopLossPrice: math.LegacyZeroDec(),
5252
}
5353

54-
position, err := k.Open(ctx, openPositionMsg)
54+
position, err := k.Open(ctx, openPositionMsg, false)
5555

5656
suite.Require().Nil(err)
5757

x/perpetual/keeper/msg_server_add_collateral.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ func (k msgServer) AddCollateral(goCtx context.Context, msg *types.MsgAddCollate
5555
return &types.MsgAddCollateralResponse{}, nil
5656
}
5757

58-
finalCollateralCoin, err := k.Keeper.AddCollateral(ctx, &mtp, &pool, msg.AddCollateral, &ammPool)
58+
// trigger check happened just above
59+
finalCollateralCoin, err := k.Keeper.AddCollateral(ctx, &mtp, &pool, msg.AddCollateral, &ammPool, true)
5960
if err != nil {
6061
return nil, err
6162
}

x/perpetual/keeper/msg_server_add_collateral_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func (suite *PerpetualKeeperTestSuite) TestAddCollateral() {
7474
StopLossPrice: math.LegacyZeroDec(),
7575
}
7676

77-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
77+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
7878
suite.Require().NoError(err)
7979
suite.app.AssetprofileKeeper.RemoveEntry(suite.ctx, ptypes.BaseCurrency)
8080
return &types.MsgAddCollateral{
@@ -109,7 +109,7 @@ func (suite *PerpetualKeeperTestSuite) TestAddCollateral() {
109109
StopLossPrice: math.LegacyZeroDec(),
110110
}
111111

112-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
112+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
113113
suite.Require().NoError(err)
114114

115115
return &types.MsgAddCollateral{
@@ -144,7 +144,7 @@ func (suite *PerpetualKeeperTestSuite) TestAddCollateral() {
144144
StopLossPrice: math.LegacyZeroDec(),
145145
}
146146

147-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
147+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
148148
suite.Require().NoError(err)
149149

150150
initialPoolBankBalance = suite.app.BankKeeper.GetAllBalances(suite.ctx, sdk.MustAccAddressFromBech32(ammPool.Address))
@@ -190,7 +190,7 @@ func (suite *PerpetualKeeperTestSuite) TestAddCollateral() {
190190
StopLossPrice: math.LegacyZeroDec(),
191191
}
192192

193-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
193+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
194194
suite.Require().NoError(err)
195195

196196
initialPoolBankBalance = suite.app.BankKeeper.GetAllBalances(suite.ctx, sdk.MustAccAddressFromBech32(ammPool.Address))
@@ -239,7 +239,7 @@ func (suite *PerpetualKeeperTestSuite) TestAddCollateral() {
239239
StopLossPrice: math.LegacyZeroDec(),
240240
}
241241

242-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
242+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
243243
suite.Require().NoError(err)
244244

245245
initialPoolBankBalance = suite.app.BankKeeper.GetAllBalances(suite.ctx, sdk.MustAccAddressFromBech32(ammPool.Address))

x/perpetual/keeper/msg_server_close_positions_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (suite *PerpetualKeeperTestSuite) TestClosePositions() {
5858
StopLossPrice: math.LegacyZeroDec(),
5959
}
6060

61-
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg)
61+
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg, false)
6262
suite.Require().NoError(err)
6363

6464
secondOpenPositionMsg := &types.MsgOpen{
@@ -71,7 +71,7 @@ func (suite *PerpetualKeeperTestSuite) TestClosePositions() {
7171
StopLossPrice: math.LegacyZeroDec(),
7272
}
7373

74-
secondPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, secondOpenPositionMsg)
74+
secondPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, secondOpenPositionMsg, false)
7575
suite.Require().NoError(err)
7676

7777
suite.app.PerpetualKeeper.RemovePool(suite.ctx, firstPool)
@@ -151,7 +151,7 @@ func (suite *PerpetualKeeperTestSuite) TestClosePositions() {
151151
StopLossPrice: math.LegacyZeroDec(),
152152
}
153153

154-
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg)
154+
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg, false)
155155
suite.Require().NoError(err)
156156

157157
// Increase unpaid liability to reduce the MTP health
@@ -201,7 +201,7 @@ func (suite *PerpetualKeeperTestSuite) TestClosePositions() {
201201
StopLossPrice: math.LegacyMustNewDecFromStr("2.00"),
202202
}
203203

204-
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg)
204+
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg, false)
205205
suite.Require().NoError(err)
206206

207207
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{
@@ -253,7 +253,7 @@ func (suite *PerpetualKeeperTestSuite) TestClosePositions() {
253253
StopLossPrice: math.LegacyMustNewDecFromStr("2.00"),
254254
}
255255

256-
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg)
256+
firstPosition, err := suite.app.PerpetualKeeper.Open(suite.ctx, firstOpenPositionMsg, false)
257257
suite.Require().NoError(err)
258258

259259
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{

x/perpetual/keeper/msg_server_open.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ func (k msgServer) Open(goCtx context.Context, msg *types.MsgOpen) (*types.MsgOp
1919
return nil, errorsmod.Wrap(types.ErrPoolNotEnabled, fmt.Sprintf("poolId: %d", msg.PoolId))
2020
}
2121

22-
return k.Keeper.Open(ctx, msg)
22+
return k.Keeper.Open(ctx, msg, false)
2323
}

x/perpetual/keeper/msg_server_update_stop_loss_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateStopLossPrice() {
4848
StopLossPrice: math.LegacyZeroDec(),
4949
}
5050

51-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
51+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
5252
suite.Require().NoError(err)
5353
suite.app.PerpetualKeeper.RemovePool(suite.ctx, ammPool.PoolId)
5454
return &types.MsgUpdateStopLoss{
@@ -80,7 +80,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateStopLossPrice() {
8080
StopLossPrice: math.LegacyZeroDec(),
8181
}
8282

83-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
83+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
8484
suite.Require().NoError(err)
8585
suite.app.OracleKeeper.RemoveAssetInfo(suite.ctx, ptypes.ATOM)
8686
return &types.MsgUpdateStopLoss{
@@ -111,7 +111,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateStopLossPrice() {
111111
StopLossPrice: math.LegacyZeroDec(),
112112
}
113113

114-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
114+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
115115
suite.Require().NoError(err)
116116

117117
return &types.MsgUpdateStopLoss{
@@ -142,7 +142,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateStopLossPrice() {
142142
StopLossPrice: math.LegacyZeroDec(),
143143
}
144144

145-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
145+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
146146
suite.Require().NoError(err)
147147

148148
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{
@@ -178,7 +178,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateStopLossPrice() {
178178
TakeProfitPrice: math.LegacyMustNewDecFromStr("2.9"),
179179
StopLossPrice: math.LegacyZeroDec(),
180180
}
181-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
181+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
182182
suite.Require().NoError(err)
183183

184184
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{
@@ -221,7 +221,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateStopLossPrice() {
221221
TakeProfitPrice: math.LegacyMustNewDecFromStr("2.9"),
222222
StopLossPrice: math.LegacyZeroDec(),
223223
}
224-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
224+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
225225
suite.Require().NoError(err)
226226

227227
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{

x/perpetual/keeper/msg_server_update_take_profit_price_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateTakeProfitPrice() {
5151
StopLossPrice: math.LegacyZeroDec(),
5252
}
5353

54-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
54+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
5555
suite.Require().NoError(err)
5656
suite.app.PerpetualKeeper.RemovePool(suite.ctx, ammPool.PoolId)
5757
return &types.MsgUpdateTakeProfitPrice{
@@ -83,7 +83,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateTakeProfitPrice() {
8383
StopLossPrice: math.LegacyZeroDec(),
8484
}
8585

86-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
86+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
8787
suite.Require().NoError(err)
8888
suite.app.OracleKeeper.RemoveAssetInfo(suite.ctx, ptypes.ATOM)
8989
return &types.MsgUpdateTakeProfitPrice{
@@ -114,7 +114,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateTakeProfitPrice() {
114114
StopLossPrice: math.LegacyZeroDec(),
115115
}
116116

117-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
117+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
118118
suite.Require().NoError(err)
119119

120120
return &types.MsgUpdateTakeProfitPrice{
@@ -145,7 +145,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateTakeProfitPrice() {
145145
StopLossPrice: math.LegacyZeroDec(),
146146
}
147147

148-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
148+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
149149
suite.Require().NoError(err)
150150

151151
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{
@@ -183,7 +183,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateTakeProfitPrice() {
183183
StopLossPrice: math.LegacyZeroDec(),
184184
}
185185

186-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
186+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
187187
suite.Require().NoError(err)
188188

189189
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{
@@ -219,7 +219,7 @@ func (suite *PerpetualKeeperTestSuite) TestUpdateTakeProfitPrice() {
219219
TakeProfitPrice: math.LegacyMustNewDecFromStr("2.9"),
220220
StopLossPrice: math.LegacyZeroDec(),
221221
}
222-
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg)
222+
position, err := suite.app.PerpetualKeeper.Open(suite.ctx, openPositionMsg, false)
223223
suite.Require().NoError(err)
224224

225225
suite.app.OracleKeeper.SetPrice(suite.ctx, oracletypes.Price{

0 commit comments

Comments
 (0)