26 lines
1.4 KiB
TypeScript

// 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),
})