From c8f79e32dd65b20db0dd2219fb3354136545398a Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Sun, 5 Apr 2026 00:05:33 -0700 Subject: [PATCH] Eliminate extraneous class. Create replacement NanoPow exports for API consistency. --- src/index.ts | 56 ++++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/index.ts b/src/index.ts index c3c583a..3a95d6f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,35 +4,35 @@ import { NanoPowOptions, WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from '#types' import { generate, validate } from './lib' -export class NanoPow { - /** - * Finds a nonce that satisfies the Nano proof-of-work requirements. - * - * @param {bigint | string} hash - Hexadecimal hash of previous block, or public key for new accounts - * @param {object} [options] - Used to configure execution - * @param {string} [options.api] - Specifies how work is generated. Default: best available - * @param {boolean} [options.debug=false] - Enables additional debug logging to the console. Default: false - * @param {number} [options.effort=0x4] - GPU load when generating work. Larger values are not necessarily better since they can quickly overwhelm the GPU. Default: 0x4 - * @param {bigint} [options.difficulty=0xfffffff800000000] - Minimum value result of `BLAKE2b(nonce||blockhash)`. Default: 0xFFFFFFF800000000 - */ - static async work_generate (hash: bigint | string, options: NanoPowOptions): Promise { - return generate(hash, options) - } +/** +* Finds a nonce that satisfies the Nano proof-of-work requirements. +* +* @param {bigint | string} hash - Hexadecimal hash of previous block, or public key for new accounts +* @param {object} [options] - Used to configure execution +* @param {string} [options.api] - Specifies how work is generated. Default: best available +* @param {boolean} [options.debug=false] - Enables additional debug logging to the console. Default: false +* @param {number} [options.effort=0x4] - GPU load when generating work. Larger values are not necessarily better since they can quickly overwhelm the GPU. Default: 0x4 +* @param {bigint} [options.difficulty=0xfffffff800000000] - Minimum value result of `BLAKE2b(nonce||blockhash)`. Default: 0xFFFFFFF800000000 +*/ +export async function work_generate (hash: bigint | string, options: NanoPowOptions): Promise { + return generate(hash, options) +} - /** - * Validates that a nonce satisfies Nano proof-of-work requirements. - * - * @param {(bigint|string)} work - Value to validate against hash and difficulty - * @param {(bigint|string)} hash - Hash of previous block, or public key for new accounts - * @param {object} [options] - Used to configure execution - * @param {boolean} [options.debug=false] - Enables additional debug logging to the console. Default: false - * @param {bigint} [options.difficulty=0xfffffff800000000] - Minimum value result of `BLAKE2b(nonce||blockhash)`. Default: 0xFFFFFFF800000000 - */ - static async work_validate (work: bigint | string, hash: bigint | string, options: NanoPowOptions): Promise { - return validate(work, hash, options) - } +/** +* Validates that a nonce satisfies Nano proof-of-work requirements. +* +* @param {(bigint|string)} work - Value to validate against hash and difficulty +* @param {(bigint|string)} hash - Hash of previous block, or public key for new accounts +* @param {object} [options] - Used to configure execution +* @param {boolean} [options.debug=false] - Enables additional debug logging to the console. Default: false +* @param {bigint} [options.difficulty=0xfffffff800000000] - Minimum value result of `BLAKE2b(nonce||blockhash)`. Default: 0xFFFFFFF800000000 +*/ +export async function work_validate (work: bigint | string, hash: bigint | string, options: NanoPowOptions): Promise { + return validate(work, hash, options) } -export { clearCache, stats } from '#utils' -export { NanoPow as default } +export const NanoPow = { work_generate, work_validate } +export default NanoPow + +export { clearCache, stats } from '#utils' -- 2.47.3