From: Chris Duncan Date: Tue, 7 Apr 2026 04:51:37 +0000 (-0700) Subject: Move exported typings to main index export and use bare specifier to reference them... X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=816b9c4242f1bef973a4f3e8980c5d0723729b3d;p=nano-pow.git Move exported typings to main index export and use bare specifier to reference them internally. --- diff --git a/src/bin/cli.ts b/src/bin/cli.ts index a1beaf0..138b7ca 100755 --- a/src/bin/cli.ts +++ b/src/bin/cli.ts @@ -2,7 +2,7 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from '#types' +import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from 'nano-pow' import { isHex32, isHex8, Logger, stats } from 'nano-pow/utils' import { Serializable, spawn } from 'node:child_process' import { getRandomValues } from 'node:crypto' diff --git a/src/bin/server.ts b/src/bin/server.ts index 2c54c07..bf381bd 100755 --- a/src/bin/server.ts +++ b/src/bin/server.ts @@ -2,7 +2,7 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from '#types' +import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from 'nano-pow' import { isHex32, isHex8, Logger } from 'nano-pow/utils' import { Serializable } from 'node:child_process' import { hash } from 'node:crypto' diff --git a/src/index.d.ts b/src/index.d.ts deleted file mode 100644 index b845df7..0000000 --- a/src/index.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -//! SPDX-FileCopyrightText: 2025 Chris Duncan -//! SPDX-License-Identifier: GPL-3.0-or-later - -/** -* Provide consumer with error information in response to request. -* -* @param {string} error - Informative message about error. -*/ -export type WorkErrorResponse = { - error: string -} - -/** -* Structure of response to `work_generate` call. -* -* @param {string} hash - Hash from generate request -* @param {string} work - Valid proof-of-work nonce generated for input hash -* @param {string} difficulty - BLAKE2b output which met or exceeded specified minimum threshold -*/ -export type WorkGenerateResponse = { - hash: string - work: string - difficulty: string -} - -/** -* Structure of response to `work_validate` call. -* -* @param {string} hash - Hash from validate request -* @param {string} work - Nonce from validate request -* @param {string} difficulty - BLAKE2b output of `work` + `hash` which is compared to specified minimum threshold to determine validity -* @param {string} valid_all - 1 for true if nonce is valid for send blocks, else 0 for false -* @param {string} valid_receive - 1 for true if nonce is valid for receive blocks, else 0 for false -* @param {string} [valid] - Excluded if optional difficulty was not included in the request. 1 for true if nonce is valid for requested difficulty, else 0 for false -*/ -export type WorkValidateResponse = { - hash: string - work: string - difficulty: string - valid_all: '0' | '1' - valid_receive: '0' | '1' - valid?: '0' | '1' -} diff --git a/src/index.ts b/src/index.ts index b745051..1ea806c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,9 +2,55 @@ //! SPDX-License-Identifier: GPL-3.0-or-later import { NanoPowOptions } from '#lib/config' -import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from '#types' import { generate, validate } from './lib' +declare global { + interface Window { + NanoPow: typeof NanoPow + } +} + +/** + * Provide consumer with error information in response to request. + * + * @param {string} error - Informative message about error. + */ +export type WorkErrorResponse = { + error: string +} + +/** + * Structure of response to `work_generate` call. + * + * @param {string} hash - Hash from generate request + * @param {string} work - Valid proof-of-work nonce generated for input hash + * @param {string} difficulty - BLAKE2b output which met or exceeded specified minimum threshold + */ +export type WorkGenerateResponse = { + hash: string + work: string + difficulty: string +} + +/** + * Structure of response to `work_validate` call. + * + * @param {string} hash - Hash from validate request + * @param {string} work - Nonce from validate request + * @param {string} difficulty - BLAKE2b output of `work` + `hash` which is compared to specified minimum threshold to determine validity + * @param {string} valid_all - 1 for true if nonce is valid for send blocks, else 0 for false + * @param {string} valid_receive - 1 for true if nonce is valid for receive blocks, else 0 for false + * @param {string} [valid] - Excluded if optional difficulty was not included in the request. 1 for true if nonce is valid for requested difficulty, else 0 for false + */ +export type WorkValidateResponse = { + hash: string + work: string + difficulty: string + valid_all: '0' | '1' + valid_receive: '0' | '1' + valid?: '0' | '1' +} + /** * Finds a nonce that satisfies the Nano proof-of-work requirements. * diff --git a/src/lib/generate/cpu/index.ts b/src/lib/generate/cpu/index.ts index ae3a1c3..211e4eb 100644 --- a/src/lib/generate/cpu/index.ts +++ b/src/lib/generate/cpu/index.ts @@ -1,8 +1,8 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later +import { WorkGenerateResponse } from 'nano-pow' import { NanoPowValidate } from '#lib/validate' -import { WorkGenerateResponse } from '#types' import { bigintRandom, Logger } from '#utils' const logger = new Logger() diff --git a/src/lib/generate/wasm/index.ts b/src/lib/generate/wasm/index.ts index b96204f..8ec7344 100644 --- a/src/lib/generate/wasm/index.ts +++ b/src/lib/generate/wasm/index.ts @@ -1,8 +1,8 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later +import { WorkGenerateResponse } from 'nano-pow' import { NanoPowValidate } from '#lib/validate' -import { WorkGenerateResponse } from '#types' import { bigintRandom, bigintToHex, Logger } from '#utils' import { NanoPowWasmWorker } from './worker.js' diff --git a/src/lib/generate/webgl/index.ts b/src/lib/generate/webgl/index.ts index 2340749..36781ba 100644 --- a/src/lib/generate/webgl/index.ts +++ b/src/lib/generate/webgl/index.ts @@ -2,9 +2,9 @@ //! SPDX-FileContributor: Ben Green //! SPDX-License-Identifier: GPL-3.0-or-later AND MIT -import { downsampleSource, drawSource, quadSource } from './shaders' -import { WorkGenerateResponse } from '#types' +import { WorkGenerateResponse } from 'nano-pow' import { bigintAsUintNArray, bigintRandom, bigintToHex, Logger } from '#utils' +import { downsampleSource, drawSource, quadSource } from './shaders' /** * Used to create WebGL framebuffer objects. diff --git a/src/lib/generate/webgpu/index.ts b/src/lib/generate/webgpu/index.ts index 9c021cc..fbd2a79 100644 --- a/src/lib/generate/webgpu/index.ts +++ b/src/lib/generate/webgpu/index.ts @@ -1,9 +1,9 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { default as NanoPowGpuComputeShader } from './shaders/compute.wgsl' -import { WorkGenerateResponse } from '#types' +import { WorkGenerateResponse } from 'nano-pow' import { bigintAsUintNArray, bigintRandom, bigintToHex, Logger, Queue } from '#utils' +import { default as NanoPowGpuComputeShader } from './shaders/compute.wgsl' type NanoPowDeviceStatus = 'Idle' | 'Starting' | 'Unsupported' | 'Ready' | 'Restoring' | 'Crashed' diff --git a/src/lib/index.ts b/src/lib/index.ts index 2ab700c..13fffa1 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,10 +1,10 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later +import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from 'nano-pow' import { NanoPowConfig } from '#lib/config' import { NanoPowCpu, NanoPowWasm, NanoPowWebgl, NanoPowWebgpu } from '#lib/generate' import { NanoPowValidate } from '#lib/validate' -import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from '#types' import { bigintFrom, Cache, Logger, Queue } from '#utils' const logger = new Logger() diff --git a/src/lib/validate/index.ts b/src/lib/validate/index.ts index f197097..285b193 100644 --- a/src/lib/validate/index.ts +++ b/src/lib/validate/index.ts @@ -1,7 +1,7 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { WorkValidateResponse } from '#types' +import { WorkValidateResponse } from 'nano-pow' import { bigintAsUintNArray, bigintToHex, Logger, RECEIVE, SEND } from '#utils' const logger = new Logger() diff --git a/src/utils/cache.ts b/src/utils/cache.ts index 5d446f8..b56e7b7 100644 --- a/src/utils/cache.ts +++ b/src/utils/cache.ts @@ -1,7 +1,7 @@ //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { WorkGenerateResponse } from "#types" +import { WorkGenerateResponse } from "nano-pow" import { bigintFrom } from "#utils" export class Cache { diff --git a/tsconfig.json b/tsconfig.json index a7f60a7..caeff0e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,9 +18,6 @@ "#lib/*": [ "./src/lib/*" ], - "#types": [ - "./src/index.d.ts" - ], "#utils": [ "./src/utils/index.ts" ]