From a8736295c63b95334b01673c67821f7277fa454c Mon Sep 17 00:00:00 2001 From: Tuditi <45079109+Tuditi@users.noreply.github.com> Date: Wed, 2 Nov 2022 10:26:26 +0100 Subject: [PATCH] fix: correct recipient address (#5076) (#5085) Co-authored-by: paul-boegelsack --- packages/shared/components/ActivityRow.svelte | 4 +++- packages/shared/lib/wallet.ts | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/shared/components/ActivityRow.svelte b/packages/shared/components/ActivityRow.svelte index efed485bcde..2ea519373f8 100644 --- a/packages/shared/components/ActivityRow.svelte +++ b/packages/shared/components/ActivityRow.svelte @@ -9,6 +9,7 @@ import { findAccountWithAddress, findAccountWithAnyAddress, + findExternalAddress, getIncomingFlag, getInternalFlag, getMilestoneMessageValue, @@ -74,8 +75,9 @@ accountAlias = acc.alias } else { // We can't find the address in our accounts so just display the abbreviated address + const receiverAddress = findExternalAddress(receiverAddresses) accountAlias = truncateString( - txPayload.data.essence.data.incoming ? receiverAddresses[0] : senderAddress, + txPayload.data.essence.data.incoming ? senderAddress : receiverAddress, 4, 3 ) diff --git a/packages/shared/lib/wallet.ts b/packages/shared/lib/wallet.ts index e729bcac62c..b6ddf3dbca3 100644 --- a/packages/shared/lib/wallet.ts +++ b/packages/shared/lib/wallet.ts @@ -1400,6 +1400,18 @@ export const findAccountWithAnyAddress = ( } } +export const findExternalAddress = (addresses: string[]): string => { + if (!addresses) { + return + } + const accounts = get(get(wallet).accounts) + const internalAddresses = accounts.flatMap((acc) => acc.addresses.map((addr) => addr.address)) + const externalAddress = addresses.filter((add) => !internalAddresses.includes(add)) + if (externalAddress.length > 0) { + return externalAddress[0] + } +} + /** * Get the sync options for an account * @param {boolean} isManualSync A boolean value indicating if a user (via the UI) invoked this function