From: Chris Duncan Date: Fri, 27 Jun 2025 07:41:09 +0000 (-0700) Subject: Remove AssemblyScript build artifacts from tracking. Add license headers for REUSE... X-Git-Tag: v5.1.2~1 X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=6294c98842eebc0b2ad0cbb625948f5b207889a8;p=nano-pow.git Remove AssemblyScript build artifacts from tracking. Add license headers for REUSE compliance. --- diff --git a/asconfig.json b/asconfig.json index d96c7bc..002045b 100644 --- a/asconfig.json +++ b/asconfig.json @@ -1,6 +1,6 @@ { "options": { - "outFile": "./src/lib/generate/wasm/asm/compute.wasm", + "outFile": "./src/lib/generate/wasm/asm/build/compute.wasm", "optimizeLevel": 3, "shrinkLevel": 2, "converge": true, diff --git a/docs/blake2.md b/docs/blake2.md index e1be4b7..c47238b 100644 --- a/docs/blake2.md +++ b/docs/blake2.md @@ -1,3 +1,8 @@ + + Twelve rounds of G mixing as part of BLAKE2b compression step, each divided into eight subprocesses. Each subprocess applies transformations to `m` and `v` variables based on a defined set of index inputs. The algorithm for each subprocess is defined as ollows: * r is the current round diff --git a/docs/nano-pow.1 b/docs/nano-pow.1 index 911af8b..c19da2a 100644 --- a/docs/nano-pow.1 +++ b/docs/nano-pow.1 @@ -1,7 +1,7 @@ \# SPDX-FileCopyrightText: 2025 Chris Duncan \# SPDX-License-Identifier: GPL-3.0-or-later -.TH nano-pow 1 2025-06-17 "nano-pow v5.0.0" +.TH nano-pow 1 2025-06-27 "nano-pow v5.1.2" .SH NAME nano-pow \- proof-of-work generation and validation for Nano cryptocurrency diff --git a/scripts/blake2b-gen.js b/scripts/blake2b-gen.js index 2da80fd..c47b1e7 100644 --- a/scripts/blake2b-gen.js +++ b/scripts/blake2b-gen.js @@ -227,7 +227,10 @@ function generate (api) { const main = (() => { switch (api) { case 'wasm': { - return `export function main (seed: u64, h0: u64, h1: u64, h2: u64, h3: u64, difficulty: u64): u64 { + return `//! SPDX-FileCopyrightText: 2025 Chris Duncan +//! SPDX-License-Identifier: GPL-3.0-or-later + +export function main (seed: u64, h0: u64, h1: u64, h2: u64, h3: u64, difficulty: u64): u64 { ${declare} m0 = ${ctr(`0`)}; const m1 = ${ctr(`h0`)}; const m2 = ${ctr(`h1`)}; @@ -315,7 +318,10 @@ void main() { ` } case 'webgpu': { - return `// Input buffers + return `//! SPDX-FileCopyrightText: 2025 Chris Duncan +//! SPDX-License-Identifier: GPL-3.0-or-later + +// Input buffers struct INPUT { hash: array, 2>, difficulty: vec2, diff --git a/src/lib/generate/wasm/asm/compute.d.ts b/src/lib/generate/wasm/asm/compute.d.ts deleted file mode 100644 index 02b5669..0000000 --- a/src/lib/generate/wasm/asm/compute.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** Exported memory */ -export declare const memory: WebAssembly.Memory; -/** - * src/lib/generate/wasm/asm/index/main - * @param seed `u64` - * @param h0 `u64` - * @param h1 `u64` - * @param h2 `u64` - * @param h3 `u64` - * @param difficulty `u64` - * @returns `u64` - */ -export declare function main(seed: bigint, h0: bigint, h1: bigint, h2: bigint, h3: bigint, difficulty: bigint): bigint; diff --git a/src/lib/generate/wasm/asm/compute.js b/src/lib/generate/wasm/asm/compute.js deleted file mode 100644 index c0a5d23..0000000 --- a/src/lib/generate/wasm/asm/compute.js +++ /dev/null @@ -1,28 +0,0 @@ -async function instantiate(module, imports = {}) { - const { exports } = await WebAssembly.instantiate(module, imports); - const memory = exports.memory || imports.env.memory; - const adaptedExports = Object.setPrototypeOf({ - main(seed, h0, h1, h2, h3, difficulty) { - // src/lib/generate/wasm/asm/index/main(u64, u64, u64, u64, u64, u64) => u64 - seed = seed || 0n; - h0 = h0 || 0n; - h1 = h1 || 0n; - h2 = h2 || 0n; - h3 = h3 || 0n; - difficulty = difficulty || 0n; - return BigInt.asUintN(64, exports.main(seed, h0, h1, h2, h3, difficulty)); - }, - }, exports); - return adaptedExports; -} -export const { - memory, - main, -} = await (async url => instantiate( - await (async () => { - const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); - if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } - else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - })(), { - } -))(new URL("compute.wasm", import.meta.url)); diff --git a/src/lib/generate/wasm/asm/compute.wasm b/src/lib/generate/wasm/asm/compute.wasm deleted file mode 100644 index dd51107..0000000 Binary files a/src/lib/generate/wasm/asm/compute.wasm and /dev/null differ diff --git a/src/lib/generate/wasm/asm/index.ts b/src/lib/generate/wasm/asm/index.ts index 04f0d00..06738a3 100644 --- a/src/lib/generate/wasm/asm/index.ts +++ b/src/lib/generate/wasm/asm/index.ts @@ -1,3 +1,5 @@ +//! SPDX-FileCopyrightText: 2025 Chris Duncan +//! SPDX-License-Identifier: GPL-3.0-or-later export function main (seed: u64, h0: u64, h1: u64, h2: u64, h3: u64, difficulty: u64): u64 { let m0 = v128.splat(0); const m1 = v128.splat(h0); diff --git a/src/lib/generate/wasm/worker.ts b/src/lib/generate/wasm/worker.ts index 4a1b229..2de0fce 100644 --- a/src/lib/generate/wasm/worker.ts +++ b/src/lib/generate/wasm/worker.ts @@ -2,7 +2,7 @@ //! SPDX-License-Identifier: GPL-3.0-or-later //@ts-expect-error -import compute from './asm/compute.wasm' +import compute from './asm/build/compute.wasm' type Main = (w: bigint, h0: bigint, h1: bigint, h2: bigint, h3: bigint, d: bigint) => any const worker = async (compute: number[]): Promise => { diff --git a/src/lib/generate/webgpu/shaders/compute.wgsl b/src/lib/generate/webgpu/shaders/compute.wgsl index 9701121..f3cf803 100644 --- a/src/lib/generate/webgpu/shaders/compute.wgsl +++ b/src/lib/generate/webgpu/shaders/compute.wgsl @@ -1,3 +1,5 @@ +//! SPDX-FileCopyrightText: 2025 Chris Duncan +//! SPDX-License-Identifier: GPL-3.0-or-later // Input buffers struct INPUT { hash: array, 2>,