From 0a7587ff5b5665dc9a26be5a808b8bbda6ab394f Mon Sep 17 00:00:00 2001 From: evavirseda Date: Tue, 24 Dec 2024 12:12:24 +0100 Subject: [PATCH] feat: add staked and unstaked action to activity details --- .../utils/transaction/getTransactionAction.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/core/src/utils/transaction/getTransactionAction.ts b/apps/core/src/utils/transaction/getTransactionAction.ts index 0a59a92430c..db94258a239 100644 --- a/apps/core/src/utils/transaction/getTransactionAction.ts +++ b/apps/core/src/utils/transaction/getTransactionAction.ts @@ -4,11 +4,24 @@ import { IotaTransactionBlockResponse } from '@iota/iota-sdk/client'; import { TransactionAction } from '../../interfaces'; +import { STAKING_REQUEST_EVENT, UNSTAKING_REQUEST_EVENT } from '../../constants'; export const getTransactionAction = ( transaction: IotaTransactionBlockResponse, currentAddress?: string, ) => { - const isSender = transaction.transaction?.data.sender === currentAddress; - return isSender ? TransactionAction.Send : TransactionAction.Receive; + const stakeTypeTransaction = transaction?.events?.find( + ({ type }) => type === STAKING_REQUEST_EVENT, + ); + const unstakeTypeTransaction = transaction?.events?.find( + ({ type }) => type === UNSTAKING_REQUEST_EVENT, + ); + if (stakeTypeTransaction) { + return TransactionAction.Staked; + } else if (unstakeTypeTransaction) { + return TransactionAction.Unstaked; + } else { + const isSender = transaction.transaction?.data.sender === currentAddress; + return isSender ? TransactionAction.Send : TransactionAction.Receive; + } };