From e49cf9277778cec77b35ddaf3d422f3b96d07a18 Mon Sep 17 00:00:00 2001 From: dzungdo <neitdung@gmail.com> Date: Fri, 19 Jan 2024 10:29:37 +0700 Subject: [PATCH] Redelegate after cancel unbonding --- x/multi-staking/keeper/msg_server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/x/multi-staking/keeper/msg_server.go b/x/multi-staking/keeper/msg_server.go index a9d6dc1b..62b4d7d6 100644 --- a/x/multi-staking/keeper/msg_server.go +++ b/x/multi-staking/keeper/msg_server.go @@ -215,6 +215,14 @@ func (k msgServer) CancelUnbondingDelegation(goCtx context.Context, msg *staking cancelBondAmount := cancelMSCoin.BondValue() cancelUnbondingCoin := sdk.NewCoin(k.keeper.stakingKeeper.BondDenom(ctx), cancelBondAmount) + lockID := types.MultiStakingLockID(msg.DelegatorAddress, msg.ValidatorAddress) + lock := k.keeper.GetOrCreateMultiStakingLock(ctx, lockID) + err = lock.AddCoinToMultiStakingLock(cancelMSCoin) + if err != nil { + return nil, err + } + k.keeper.SetMultiStakingLock(ctx, lock) + sdkMsg := &stakingtypes.MsgCancelUnbondingDelegation{ DelegatorAddress: msg.DelegatorAddress, ValidatorAddress: msg.ValidatorAddress,