}
switch (action) {
case ('work_generate'): {
- response = JSON.stringify(await page.evaluate(async (hash: string, options: NanoPowOptions): Promise<WorkGenerateResponse | WorkValidateResponse> => {
- if (window.NanoPow == null) throw new Error('NanoPow not found')
- return await window.NanoPow.work_generate(hash, options)
- }, hash, options))
+ response = JSON.stringify(await page.evaluate(async (np, hash: string, options: NanoPowOptions): Promise<WorkGenerateResponse | WorkValidateResponse> => {
+ if (np == null) throw new Error('NanoPow not found')
+ return await np.work_generate(hash, options)
+ }, npHandle, hash, options))
break
}
case ('work_validate'): {
- response = JSON.stringify(await page.evaluate(async (work: string, hash: string, options: NanoPowOptions): Promise<WorkGenerateResponse | WorkValidateResponse> => {
- if (window.NanoPow == null) throw new Error('NanoPow not found')
- return await window.NanoPow.work_validate(work, hash, options)
- }, work, hash, options))
+ response = JSON.stringify(await page.evaluate(async (np, work: string, hash: string, options: NanoPowOptions): Promise<WorkGenerateResponse | WorkValidateResponse> => {
+ if (np == null) throw new Error('NanoPow not found')
+ return await np.work_validate(work, hash, options)
+ }, npHandle, work, hash, options))
break
}
default: {
await page.waitForFunction(async (): Promise<boolean> => {
return window.NanoPow != null
})
+const npHandle = await page.evaluateHandle(() => window.NanoPow)
log('Puppeteer initialized')