11require ( 'reflect-metadata' ) ;
2- const { contextBridge } = require ( 'electron' )
2+ const { ipcRenderer , contextBridge } = require ( 'electron' )
33const { SecretManager, Wallet, Utils } = require ( '@iota/sdk' ) ;
4+ const IotaSdk = require ( '@iota/sdk' )
45const fs = require ( 'node:fs' ) ;
56
67function bindMethodsAcrossContextBridge ( prototype , object ) {
@@ -12,9 +13,11 @@ function bindMethodsAcrossContextBridge(prototype, object) {
1213 } )
1314}
1415
16+ const node = process . env [ "MINIFIREFLY_NODE" ]
17+
1518// IOTA
1619const WALLET_DB_PATH = 'MINIFIREFLY-DB' ;
17- const NODE_URL = process . env [ "MINIFIREFLY_NODE" ]
20+ const NODE_URL = node
1821const STRONGHOLD_PASSWORD = 'firefly' ;
1922const STRONGHOLD_SNAPSHOT_PATH = 'MINIFIREFLY-DB/minifirefly.stronghold' ;
2023const strongholdSecretManager = {
@@ -24,6 +27,29 @@ const strongholdSecretManager = {
2427 } ,
2528} ;
2629
30+
31+
32+ try {
33+ ipcRenderer . invoke ( 'get-path' , 'userData' ) . then ( async ( baseDir ) => {
34+ const logDir = `${ baseDir } /logs`
35+ if ( ! fs . existsSync ( logDir ) ) {
36+ fs . mkdirSync ( logDir )
37+ }
38+ const versionDetails = await ipcRenderer . invoke ( 'get-version-details' )
39+ const today = new Date ( ) . toISOString ( ) . slice ( 0 , 16 ) . replace ( 'T' , '-' ) . replace ( ':' , '-' )
40+ const loggerOptions = {
41+ colorEnabled : true ,
42+ name : `${ logDir } /minifirefly-v${ versionDetails . currentVersion } -d${ today } .log` ,
43+ levelFilter : 'debug' ,
44+ targetExclusions : [ 'h2' , 'hyper' , 'rustls' , 'message_handler' ] ,
45+ }
46+ IotaSdk . initLogger ( loggerOptions )
47+
48+ } )
49+ } catch ( err ) {
50+ console . error ( '[Preload Context] Error:' , err )
51+ }
52+
2753contextBridge . exposeInMainWorld ( '__MINIFIREFLY__' , {
2854 async createWallet ( ) {
2955 const secretManager = SecretManager . create ( strongholdSecretManager ) ;
@@ -64,11 +90,25 @@ contextBridge.exposeInMainWorld('__MINIFIREFLY__', {
6490 bipPath : {
6591 coinType : 1 ,
6692 } ,
67- secretManager : strongholdSecretManager ,
93+ secretManager : null ,
6894 } ;
6995
7096 const wallet = await Wallet . create ( walletOptions ) ;
7197 bindMethodsAcrossContextBridge ( Wallet . prototype , wallet )
98+ await wallet . sync ( {
99+ forceSyncing : true ,
100+ account : {
101+ basicOutputs : true ,
102+ aliasOutputs : true ,
103+ } ,
104+ wallet : {
105+ basicOutputs : false ,
106+ accountOutputs : false ,
107+ } ,
108+ syncIncomingTransactions : true ,
109+ syncNativeTokenFoundries : true ,
110+ syncImplicitAccounts : true ,
111+ } )
72112 return wallet
73113 } ,
74114 removeWallet ( ) {
0 commit comments