From 3ad6350842601ca76c6a07dc87dcbb8dc530f2e8 Mon Sep 17 00:00:00 2001 From: Julian Compagni Portis Date: Thu, 19 Sep 2024 16:02:10 -0400 Subject: [PATCH] Misc event cleanup + TrancheUserUpdateEvent --- x/dex/keeper/limit_order_tranche_user.go | 2 ++ x/dex/keeper/place_limit_order.go | 33 +++++++++++------------- x/dex/types/events.go | 32 ++++++++++++++++------- 3 files changed, 40 insertions(+), 27 deletions(-) diff --git a/x/dex/keeper/limit_order_tranche_user.go b/x/dex/keeper/limit_order_tranche_user.go index 9df5c072e..e5a862f5c 100644 --- a/x/dex/keeper/limit_order_tranche_user.go +++ b/x/dex/keeper/limit_order_tranche_user.go @@ -93,6 +93,8 @@ func (k Keeper) SaveTrancheUser(ctx sdk.Context, trancheUser *types.LimitOrderTr } else { k.SetLimitOrderTrancheUser(ctx, trancheUser) } + ctx.EventManager().EmitEvent(types.TrancheUserUpdateEvent(*trancheUser)) + } // GetAllLimitOrderTrancheUser returns all LimitOrderTrancheUser diff --git a/x/dex/keeper/place_limit_order.go b/x/dex/keeper/place_limit_order.go index b35a7a58d..fcb562b5b 100644 --- a/x/dex/keeper/place_limit_order.go +++ b/x/dex/keeper/place_limit_order.go @@ -72,24 +72,21 @@ func (k Keeper) PlaceLimitOrderCore( // This will never panic because we've already successfully constructed a TradePairID above pairID := takerTradePairID.MustPairID() - types.EmitEventWithTimestamp( - ctx, - types.CreatePlaceLimitOrderEvent( - callerAddr, - receiverAddr, - pairID.Token0, - pairID.Token1, - tokenIn, - tokenOut, - totalIn, - tickIndexInToOut, - orderType.String(), - sharesIssued, - trancheKey, - swapInCoin.Amount, - swapOutCoin.Amount, - ), - ) + ctx.EventManager().EmitEvent(types.CreatePlaceLimitOrderEvent( + callerAddr, + receiverAddr, + pairID.Token0, + pairID.Token1, + tokenIn, + tokenOut, + totalIn, + tickIndexInToOut, + orderType.String(), + sharesIssued, + trancheKey, + swapInCoin.Amount, + swapOutCoin.Amount, + )) return trancheKey, totalInCoin, swapInCoin, swapOutCoin, nil } diff --git a/x/dex/types/events.go b/x/dex/types/events.go index d822c79fc..e08c1defa 100644 --- a/x/dex/types/events.go +++ b/x/dex/types/events.go @@ -3,7 +3,6 @@ package types import ( "strconv" "strings" - "time" "cosmossdk.io/math" "cosmossdk.io/store/types" @@ -50,7 +49,10 @@ const ( AttributeInc = "inc" AttributeDec = "dec" AttributePairID = "pair_id" - AttributeTimestamp = "Timestamp" + AttributeMakerDenom = "MakerDenom" + AttributeTakerDenom = "TakerDenom" + AttributeSharesOwned = "SharesOwned" + AttributeSharesWithdrawn = "SharesWithdrawn" ) // Event Keys @@ -64,16 +66,12 @@ const ( EventTypeTickUpdate = "TickUpdate" TickUpdateEventKey = "TickUpdate" EventTypeGoodTilPurgeHitGasLimit = "GoodTilPurgeHitGasLimit" + TrancheUserUpdateEventKey = "TrancheUserUpdate" + EventTypeTrancheUserUpdate = "TrancheUserUpdate" // EventTypeNeutronMessage defines the event type used by the Interchain Queries module events. EventTypeNeutronMessage = "neutron" ) -func EmitEventWithTimestamp(ctx sdk.Context, event sdk.Event) { - timestamp := sdk.NewAttribute(AttributeTimestamp, ctx.BlockTime().Format(time.RFC3339)) - event = event.AppendAttributes(timestamp) - ctx.EventManager().EmitEvent(event) -} - func CreateDepositEvent( creator sdk.AccAddress, receiver sdk.AccAddress, @@ -244,8 +242,8 @@ func CancelLimitOrderEvent( sdk.NewAttribute(AttributeToken1, token1), sdk.NewAttribute(AttributeTokenIn, makerDenom), sdk.NewAttribute(AttributeTokenOut, tokenOut), - sdk.NewAttribute(AttributeTokenOutAmountOut, amountOutTaker.String()), sdk.NewAttribute(AttributeTokenInAmountOut, amountOutMaker.String()), + sdk.NewAttribute(AttributeTokenOutAmountOut, amountOutTaker.String()), sdk.NewAttribute(AttributeTrancheKey, trancheKey), } @@ -423,3 +421,19 @@ func GetEventsDecTotalPoolReserves(pairID PairID) sdk.Events { ), } } + +func TrancheUserUpdateEvent(trancheUser LimitOrderTrancheUser) sdk.Event { + attrs := []sdk.Attribute{ + sdk.NewAttribute(sdk.AttributeKeyModule, "dex"), + sdk.NewAttribute(sdk.AttributeKeyAction, TrancheUserUpdateEventKey), + sdk.NewAttribute(AttributeTrancheKey, trancheUser.TrancheKey), + sdk.NewAttribute(AttributeCreator, trancheUser.Address), + sdk.NewAttribute(AttributeTickIndex, strconv.Itoa(int(trancheUser.TickIndexTakerToMaker))), + sdk.NewAttribute(AttributeMakerDenom, trancheUser.TradePairId.MakerDenom), + sdk.NewAttribute(AttributeTakerDenom, trancheUser.TradePairId.TakerDenom), + sdk.NewAttribute(AttributeSharesOwned, trancheUser.SharesOwned.String()), + sdk.NewAttribute(AttributeSharesWithdrawn, trancheUser.SharesWithdrawn.String()), + } + return sdk.NewEvent(EventTypeTickUpdate, attrs...) + +}