From 6664a478864b1877cab3446159ed9d3b1e00b157 Mon Sep 17 00:00:00 2001 From: Isha Date: Thu, 7 Nov 2024 10:48:27 +0530 Subject: [PATCH] Pass address for specific chainId in message --- src/index.tsx | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 3944fed..f7b8b76 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -23,20 +23,36 @@ window.addEventListener('message', (event: MessageEvent) => { if (event.data.type === 'REQUEST_WALLET_ACCOUNTS') { try { - const accountsData = localStorage.getItem('accounts/cosmos:laconic-testnet-2/0'); + let accountsData = ''; + const indices = localStorage.getItem(`addAccountCounter/cosmos:${event.data.chainId}`); + for (let i = 0; i < Number(indices); i++) { + const account = localStorage.getItem(`accounts/cosmos:${event.data.chainId}/${i}`); + if (account) { + accountsData += `${account},`; + } + } + // Remove trailing comma + accountsData = accountsData.slice(0, -1); + if (!accountsData) { event.source?.postMessage({ type: 'ERROR', - message: 'Wallet accounts not found in local storage' + message: 'Wallet accounts not found in local storage', }); return; } - - (event.source as Window)?.postMessage({ - type: 'WALLET_ACCOUNTS_DATA', - data: accountsData - }, 'http://localhost:3000'); + + const elements = accountsData.split(','); + const addresses = elements.filter((_, index) => (index + 1) % 4 === 0); + + (event.source as Window)?.postMessage( + { + type: 'WALLET_ACCOUNTS_DATA', + data: addresses, + }, + 'http://localhost:3000' + ); } catch (error) { (event.source as Window)?.postMessage({