From 1917e5b0260c1fbfd69223639c3c26bf1370d08f Mon Sep 17 00:00:00 2001 From: Tien Nam Dao Date: Mon, 16 Jan 2023 23:31:40 +0700 Subject: [PATCH] fix: update msgUndelegate --- types/message.d.ts | 16 ++++++++++++++++ types/transactions.d.ts | 3 +++ utils/enum.ts | 1 + views/transactions/utils.ts | 12 ++++++++++++ 4 files changed, 32 insertions(+) diff --git a/types/message.d.ts b/types/message.d.ts index 37c3fc4c..b3b0bfb1 100644 --- a/types/message.d.ts +++ b/types/message.d.ts @@ -2,6 +2,7 @@ enum TransactionTypeEnum { Ethermint = '/ethermint.evm.v1.MsgEthereumTx', MsgVote = '/cosmos.gov.v1beta1.MsgVote', MsgDelegate = '/cosmos.staking.v1beta1.MsgDelegate', + MsgUndelegate = '/cosmos.staking.v1beta1.MsgUndelegate', MsgSend = '/cosmos.bank.v1beta1.MsgSend', MsgWithdrawDelegatorReward = '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', MsgBeginRedelegate = '/cosmos.staking.v1beta1.MsgBeginRedelegate', @@ -169,6 +170,21 @@ interface MsgDelegateContent { autoClaimedRewards: TokenAmount } +interface MsgUndelegateContent { + name: string + amount: TokenAmount + txHash: string + version: number + delegatorAddress: string + autoClaimedRewards: TokenAmount + uuid: string + height: number + msgName: string + msgIndex: number + unbondCompleteAt: string + validatorAddress: string +} + interface MsgWithdrawDelegatorRewardContent { amount: TokenAmount[] height: number diff --git a/types/transactions.d.ts b/types/transactions.d.ts index 832d5e21..c71d1079 100644 --- a/types/transactions.d.ts +++ b/types/transactions.d.ts @@ -24,6 +24,7 @@ interface TransactionMessage { | MsgSendContent | MsgExecContent | MsgGrantContent + | MsgUndelegateContent } interface TransactionItem { @@ -264,3 +265,5 @@ interface TransactionMsgCreateValidatorDetail extends TransactionDetail { commissionRates: CommissionRates minSelfDelegation: string } + +interface TransactionMsgUndelegateDetail extends TransactionDetail {} diff --git a/utils/enum.ts b/utils/enum.ts index 53b86e2a..3c76fc9d 100644 --- a/utils/enum.ts +++ b/utils/enum.ts @@ -14,6 +14,7 @@ export enum TransactionTypeEnum { Ethermint = '/ethermint.evm.v1.MsgEthereumTx', MsgVote = '/cosmos.gov.v1beta1.MsgVote', MsgDelegate = '/cosmos.staking.v1beta1.MsgDelegate', + MsgUndelegate = '/cosmos.staking.v1beta1.MsgUndelegate', MsgSend = '/cosmos.bank.v1beta1.MsgSend', MsgWithdrawDelegatorReward = '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', MsgBeginRedelegate = '/cosmos.staking.v1beta1.MsgBeginRedelegate', diff --git a/views/transactions/utils.ts b/views/transactions/utils.ts index 500a616b..70840b1f 100644 --- a/views/transactions/utils.ts +++ b/views/transactions/utils.ts @@ -126,6 +126,7 @@ export const cosmsTransactionDetail = (result: TransactionItem): TransactionDeta _mapMsgSendField(data, result) _mapMsgVoteField(data, result?.messages) _mapMsgDelegate(data, result?.messages) + _mapMsgUndelegate(data, result?.messages) _mapMsgBeginRedelegate(data, result?.messages) _mapMsgExec(data as TransactionMsgExecDetail, result?.messages) _mapMsgGrant(data, result?.messages) @@ -296,6 +297,17 @@ const _mapMsgDelegate = (data: TransactionDetail, messages: TransactionMessage[] } } +const _mapMsgUndelegate = (data: TransactionDetail, messages: TransactionMessage[]) => { + const type: string = messages[0]?.type + if (type === TransactionTypeEnum.MsgUndelegate) { + const content = messages[0].content as unknown as MsgUndelegateContent + data.delegatorAddress = content.delegatorAddress + data.validatorAddress = content.validatorAddress + data.value = formatEther(content.amount.amount) + // Missing amount of auto claim reward + } +} + const _mapMsgBeginRedelegate = (data: TransactionDetail, messages: TransactionMessage[]) => { const type: string = messages[0]?.type if (type === TransactionTypeEnum.MsgBeginRedelegate) {