diff --git a/src/components/Tx/TxData/TxMessage/TxMessage.js b/src/components/Tx/TxData/TxMessage/TxMessage.js index 174a1cd7..1eb49fc9 100644 --- a/src/components/Tx/TxData/TxMessage/TxMessage.js +++ b/src/components/Tx/TxData/TxMessage/TxMessage.js @@ -305,13 +305,15 @@ const TxMessage = ({ key, msg, data, ind }) => { return !data ? null : getInfoPriceRow(label, data.value, denom); }; - const getRawLog = rawLog => { + const getRawLog = (rawLog, index) => { let messageParse = []; try { messageParse = tryParseMessage(JSON.parse(rawLog)); } catch (error) { messageParse = [{ error: rawLog }]; } finally { + if (!index) messageParse = [messageParse[0]]; + else messageParse = messageParse.filter(msg => msg.msg_index === index); return ( {!isLargeScreen ? ( @@ -501,6 +503,15 @@ const TxMessage = ({ key, msg, data, ind }) => { return storageData?.[address]?.name; }; + const getTotalTransfer = (label, msg) => { + const totalAmount = msg.reduce((acc, cur) => acc + +cur.msg.transfer.amount, 0); + return ( + + {_.isNil(totalAmount) ? "-" : formatOrai(totalAmount)} {} + + ); + }; + const getAddressRow = (label, address, name, isSmartContract = false) => (
@@ -925,6 +936,7 @@ const TxMessage = ({ key, msg, data, ind }) => { value={value} memo={memo} getTxTypeNew={getTxTypeNew} + getTotalTransfer={getTotalTransfer} getAddressRow={getAddressRow} getCurrencyRowFromObject={getCurrencyRowFromObject} getCurrencyRowFromString={getCurrencyRowFromString} diff --git a/src/components/Tx/TxData/TxMessage/TxMessageContent.js b/src/components/Tx/TxData/TxMessage/TxMessageContent.js index df54ed8c..4ad7c483 100644 --- a/src/components/Tx/TxData/TxMessage/TxMessageContent.js +++ b/src/components/Tx/TxData/TxMessage/TxMessageContent.js @@ -33,6 +33,7 @@ const TxMessageContent = ({ getMultiRoyaltyRow, getSubmitProposalContent, getInfoRowThreeDots, + getTotalTransfer, tryParseMessageBinary, activeThemeId, themeIds, @@ -355,12 +356,12 @@ const TxMessageContent = ({ {getInfoRow("Contract Address", getContractAddress(data?.raw_log))} )} - {/* update 23/3/2023: add IBC progress for MsgExecute */} {compareTypeMessage(type, [txTypes.COSMOS_SDK.EXECUTE_CONTRACT, txTypes.COSMOS_SDK_NEW_VERSION.EXECUTE_CONTRACT]) && ( <> {getAddressRow("Contract", value?.contract, "", true)} {getAddressRow("Sender", value?.sender, value?.sender_tag)} + {getTotalTransfer("Total Amount", data?.messages)} {getInfoRowFromRawData(wasmAttributes, "pair", "Pair")} {getPriceInfoFromRawData(wasmAttributes, "take_profit", "Take profit", quote)} {getPriceInfoFromRawData(wasmAttributes, "stop_loss", "Stop loss", quote)} @@ -382,9 +383,7 @@ const TxMessageContent = ({ {checkAttributeEvents(data?.raw_log, "send_packet") && getIBCProgressRow("IBC Progress", data)} )} - {/* add IBC Progress */} - {compareTypeMessage(type, [txTypes.COSMOS_SDK.MSG_IBC_TRANSFER, txTypes.COSMOS_SDK_NEW_VERSION.MSG_IBC_TRANSFER]) && ( <> {getInfoRow("Source Port", value?.source_port)} @@ -623,7 +622,7 @@ const TxMessageContent = ({ )} - {getRawLog(data?.raw_log)} + {getRawLog(data?.raw_log, ind)} );