@@ -25,25 +25,36 @@ func (k Keeper) ProcessRedelegate(ctx context.Context, ev *bindings.IPTokenStaki
2525	sdkCtx  :=  sdk .UnwrapSDKContext (ctx )
2626	cachedCtx , writeCache  :=  sdkCtx .CacheContext ()
2727
28+ 	var  actualAmount  string 
29+ 
2830	defer  func () {
2931		if  r  :=  recover (); r  !=  nil  {
3032			err  =  errors .WrapErrWithCode (errors .UnexpectedCondition , fmt .Errorf ("panic caused by %v" , r ))
3133		}
34+ 
35+ 		var  e  sdk.Event 
3236		if  err  ==  nil  {
3337			writeCache ()
34- 			return 
38+ 			e  =  sdk .NewEvent (
39+ 				types .EventTypeRedelegateSuccess ,
40+ 				sdk .NewAttribute (types .AttributeKeyAmount , actualAmount ),
41+ 			)
42+ 		} else  {
43+ 			e  =  sdk .NewEvent (
44+ 				types .EventTypeRedelegateFailure ,
45+ 				sdk .NewAttribute (types .AttributeKeyErrorCode , errors .UnwrapErrCode (err ).String ()),
46+ 				sdk .NewAttribute (types .AttributeKeyAmount , ev .Amount .String ()),
47+ 			)
3548		}
49+ 
3650		sdkCtx .EventManager ().EmitEvents (sdk.Events {
37- 			sdk .NewEvent (
38- 				types .EventTypeRedelegateFailure ,
51+ 			e .AppendAttributes (
3952				sdk .NewAttribute (types .AttributeKeyBlockHeight , strconv .FormatInt (sdkCtx .BlockHeight (), 10 )),
4053				sdk .NewAttribute (types .AttributeKeyDelegatorAddress , ev .Delegator .String ()),
4154				sdk .NewAttribute (types .AttributeKeySrcValidatorCmpPubKey , hex .EncodeToString (ev .ValidatorSrcCmpPubkey )),
4255				sdk .NewAttribute (types .AttributeKeyDstValidatorCmpPubKey , hex .EncodeToString (ev .ValidatorDstCmpPubkey )),
4356				sdk .NewAttribute (types .AttributeKeyDelegateID , ev .DelegationId .String ()),
44- 				sdk .NewAttribute (types .AttributeKeyAmount , ev .Amount .String ()),
4557				sdk .NewAttribute (types .AttributeKeySenderAddress , ev .OperatorAddress .Hex ()),
46- 				sdk .NewAttribute (types .AttributeKeyStatusCode , errors .UnwrapErrCode (err ).String ()),
4758				sdk .NewAttribute (types .AttributeKeyTxHash , hex .EncodeToString (ev .Raw .TxHash .Bytes ())),
4859			),
4960		})
@@ -103,22 +114,22 @@ func (k Keeper) ProcessRedelegate(ctx context.Context, ev *bindings.IPTokenStaki
103114
104115	amountCoin , _  :=  IPTokenToBondCoin (ev .Amount )
105116
106- 	log .Debug (cachedCtx , "EVM staking relegation detected " ,
117+ 	log .Debug (cachedCtx , "Processing  EVM staking relegation" ,
107118		"del_story" , depositorAddr .String (),
108119		"val_src_story" , validatorSrcAddr .String (),
109120		"val_dst_story" , validatorDstAddr .String (),
110121		"del_evm_addr" , ev .Delegator .String (),
111122		"val_src_evm_addr" , valSrcEvmAddr .String (),
112123		"val_dst_evm_addr" , valDstEvmAddr .String (),
113- 		"amount_coin " , amountCoin .String (),
124+ 		"amount " , amountCoin . Amount .String (),
114125	)
115126
116127	msg  :=  stypes .NewMsgBeginRedelegate (
117128		depositorAddr .String (), validatorSrcAddr .String (), validatorDstAddr .String (),
118129		ev .DelegationId .String (), amountCoin ,
119130	)
120131
121- 	_ , err  =  skeeper .NewMsgServerImpl (k .stakingKeeper .(* skeeper.Keeper )).BeginRedelegate (cachedCtx , msg )
132+ 	resp , err  : =skeeper .NewMsgServerImpl (k .stakingKeeper .(* skeeper.Keeper )).BeginRedelegate (cachedCtx , msg )
122133	switch  {
123134	case  errors .Is (err , stypes .ErrSelfRedelegation ):
124135		return  errors .WrapErrWithCode (errors .SelfRedelegation , err )
@@ -132,9 +143,21 @@ func (k Keeper) ProcessRedelegate(ctx context.Context, ev *bindings.IPTokenStaki
132143		return  errors .WrapErrWithCode (errors .PeriodDelegationNotFound , err )
133144	case  err  !=  nil :
134145		return  errors .Wrap (err , "failed to begin redelegation" )
135- 	default :
136- 		return  nil 
137146	}
147+ 
148+ 	actualAmount  =  resp .Amount .Amount .String ()
149+ 
150+ 	log .Debug (cachedCtx , "EVM staking relegation processed" ,
151+ 		"del_story" , depositorAddr .String (),
152+ 		"val_src_story" , validatorSrcAddr .String (),
153+ 		"val_dst_story" , validatorDstAddr .String (),
154+ 		"del_evm_addr" , ev .Delegator .String (),
155+ 		"val_src_evm_addr" , valSrcEvmAddr .String (),
156+ 		"val_dst_evm_addr" , valDstEvmAddr .String (),
157+ 		"actual_amount" , actualAmount ,
158+ 	)
159+ 
160+ 	return  nil 
138161}
139162
140163func  (k  Keeper ) ParseRedelegateLog (ethLog  ethtypes.Log ) (* bindings.IPTokenStakingRedelegate , error ) {
0 commit comments