Add new component WalletEmbed to handle tx requests via iframe messaging #18

Merged
nabarun merged 16 commits from deep-stack/laconic-wallet-web:ag-iframe into main 2024-11-12 09:46:17 +00:00
Showing only changes of commit b5005b8e47 - Show all commits

View File

@ -3,7 +3,7 @@ import React, { useEffect } from 'react'
export const WalletEmbed = () => { export const WalletEmbed = () => {
useEffect(() => { useEffect(() => {
const handleMessage = (event: MessageEvent) => { const handleMessage = (event: MessageEvent) => {
if (event.origin !== 'http://localhost:3000') return; // Not checking for event origin as only account addresses are returned
if (event.data.type === 'REQUEST_WALLET_ACCOUNTS') { if (event.data.type === 'REQUEST_WALLET_ACCOUNTS') {
try { try {
@ -35,14 +35,14 @@ export const WalletEmbed = () => {
type: 'WALLET_ACCOUNTS_DATA', type: 'WALLET_ACCOUNTS_DATA',
data: addresses, data: addresses,
}, },
'http://localhost:3000' event.origin
); );
} catch (error) { } catch (error) {
(event.source as Window)?.postMessage({ (event.source as Window)?.postMessage({
type: 'ERROR', type: 'ERROR',
message: 'Error accessing wallet accounts data' message: 'Error accessing wallet accounts data'
}, 'http://localhost:3000'); }, event.origin);
} }
} }
}; };