]> zoso.dev Git - libnemo.git/commitdiff
Wrap worker calls in try-catch blocks.
authorChris Duncan <chris@zoso.dev>
Mon, 16 Dec 2024 20:54:15 +0000 (12:54 -0800)
committerChris Duncan <chris@zoso.dev>
Mon, 16 Dec 2024 20:54:15 +0000 (12:54 -0800)
src/lib/workers.ts

index 0d3dd2c473a70e813bfce884c74329ca103ce28a..d20a3920b612072d903a09d7564b558017551904 100644 (file)
@@ -44,12 +44,20 @@ const w = () => {
        //BIP-44
        async function getPrivateKey (data: any): Promise<any[]> {
                const BIP44_PURPOSE = 44
-               return new Promise(async (resolve) => {
+               return new Promise(async (resolve, reject) => {
                        for (const d of data) {
                                if (d.coin != null && d.coin !== BIP44_PURPOSE) {
-                                       d.privateKey = await Bip44Ckd.ckd(d.seed, d.coin, d.index)
+                                       try {
+                                               d.privateKey = await Bip44Ckd.ckd(d.seed, d.coin, d.index)
+                                       } catch (err) {
+                                               reject(err)
+                                       }
                                } else {
-                                       d.privateKey = await Bip44Ckd.nanoCKD(d.seed, d.index)
+                                       try {
+                                               d.privateKey = await Bip44Ckd.nanoCKD(d.seed, d.index)
+                                       } catch (err) {
+                                               reject(err)
+                                       }
                                }
                        }
                        resolve(data)
@@ -60,9 +68,13 @@ const w = () => {
 
        //NACL
        async function getPublicKey (data: any): Promise<any[]> {
-               return new Promise(async (resolve) => {
+               return new Promise(async (resolve, reject) => {
                        for (const d of data) {
-                               d.publicKey = await NanoNaCl.convert(d.privateKey)
+                               try {
+                                       d.publicKey = await NanoNaCl.convert(d.privateKey)
+                               } catch (err) {
+                                       reject(err)
+                               }
                        }
                        resolve(data)
                })
@@ -72,9 +84,13 @@ const w = () => {
 
        // POW
        async function getPow (data: any) {
-               return new Promise(async (resolve) => {
+               return new Promise(async (resolve, reject) => {
                        for (const d of data) {
-                               d.work = await Pow.find(d.hash, d.threshold)
+                               try {
+                                       d.work = await Pow.find(d.hash, d.threshold)
+                               } catch (err) {
+                                       reject(err)
+                               }
                        }
                        resolve(data)
                })