// See the Electron documentation for details on how to use preload scripts: // https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts import { contextBridge, ipcRenderer } from 'electron' contextBridge.exposeInMainWorld('walletApi', { createKeystore: (seed: string, password: string) => ipcRenderer.invoke('wallet:createKeystore', seed, password), saveKeystoreAs: (fileName: string) => ipcRenderer.invoke('wallet:saveKeystoreAs', fileName), decryptKeystore: (fileName: string, password: string) => ipcRenderer.invoke('wallet:decryptKeystore', fileName, password), checkKeystore: () => ipcRenderer.invoke('wallet:checkKeystore'), generateKeysFromSeed: (seedPhrase: string[]) => ipcRenderer.invoke('wallet:generateKeysFromSeed', seedPhrase), buildTransaction: (args: any) => ipcRenderer.invoke('wallet:buildTransaction', args), updateMinBlockHeight: (fileName: string | null, minBlockHeight: number | null) => ipcRenderer.invoke('wallet:updateMinBlockHeight', fileName, minBlockHeight), getMinBlockHeight: (fileName: string | null) => ipcRenderer.invoke('wallet:getMinBlockHeight', fileName), }) contextBridge.exposeInMainWorld('logger', { info: (...msg: any[]) => ipcRenderer.send('log:info', ...msg), warn: (...msg: any[]) => ipcRenderer.send('log:warn', ...msg), error: (...msg: any[]) => ipcRenderer.send('log:error', ...msg), })