]> git.codecow.com Git - nano-pow.git/commitdiff
Simplify generate execution.
authorChris Duncan <chris@codecow.com>
Thu, 16 Jul 2026 02:41:45 +0000 (19:41 -0700)
committerChris Duncan <chris@codecow.com>
Thu, 16 Jul 2026 02:41:45 +0000 (19:41 -0700)
src/lib/index.ts

index d08bc5c44aa15dce9bfac854dd68944f36c2e083..e3fab9ca550949f028061a55f5d43e462aeb9783 100644 (file)
@@ -29,26 +29,28 @@ export async function generate (blockhash: unknown, options?: unknown): Promise<
                        }
                }
        }
-       return q.add(async (): Promise<WorkGenerateResponse | WorkErrorResponse> => {
-               try {
+       try {
+               const request = async () => {
                        switch (api) {
                                case 'webgpu': {
-                                       return Cache.store(await NanoPowWebgpu(hash, difficulty, effort, debug))
+                                       return NanoPowWebgpu(hash, difficulty, effort, debug)
                                }
                                case 'webgl': {
-                                       return Cache.store(await NanoPowWebgl(hash, difficulty, effort, debug))
+                                       return NanoPowWebgl(hash, difficulty, effort, debug)
                                }
                                case 'wasm': {
-                                       return Cache.store(await NanoPowWasm(hash, difficulty, effort, debug))
+                                       return NanoPowWasm(hash, difficulty, effort, debug)
                                }
                                default: {
-                                       return Cache.store(await NanoPowCpu(hash, difficulty, debug))
+                                       return NanoPowCpu(hash, difficulty, debug)
                                }
                        }
-               } catch (e: any) {
-                       return { error: typeof e === 'string' ? e : (e?.message ?? '') }
                }
-       })
+               const response: WorkGenerateResponse = await q.add(request)
+               return Cache.store(response)
+       } catch (e: any) {
+               return { error: typeof e === 'string' ? e : (e?.message ?? '') }
+       }
 }
 
 export async function validate (work: unknown, blockhash: unknown, options?: unknown): Promise<WorkValidateResponse | WorkErrorResponse> {