effort: CONFIG.EFFORT,
difficulty
}
- const args = []
- if (work) args.push(work)
- args.push(hash)
- args.push(options)
- response = JSON.stringify(await page.evaluate(async (action: string, args: (string | NanoPowOptions)[]): Promise<WorkGenerateResponse | WorkValidateResponse> => {
- if (window.NanoPow == null) throw new Error('NanoPow not found')
- return await window.NanoPow[action](...args)
- }, action, args))
+ 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))
+ 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))
+ break
+ }
+ default: {
+ throw new Error('Action must be work_generate or work_validate.')
+ }
+ }
statusCode = 200
} catch (err) {
log(err)