Pass address for specific chainId in message

This commit is contained in:
Isha 2024-11-07 10:48:27 +05:30
parent c1fdbf6db3
commit 6664a47886

View File

@ -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({
const elements = accountsData.split(',');
const addresses = elements.filter((_, index) => (index + 1) % 4 === 0);
(event.source as Window)?.postMessage(
{
type: 'WALLET_ACCOUNTS_DATA',
data: accountsData
}, 'http://localhost:3000');
data: addresses,
},
'http://localhost:3000'
);
} catch (error) {
(event.source as Window)?.postMessage({