@unknownncat/curve25519-node 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,171 @@
1
+ /* @ts-self-types="./axlsign_wasm.d.ts" */
2
+
3
+ /**
4
+ * @param {Uint8Array} secret_key
5
+ * @returns {Uint8Array}
6
+ */
7
+ function axlsignPublicKey(secret_key) {
8
+ const ptr0 = passArray8ToWasm0(secret_key, wasm.__wbindgen_malloc);
9
+ const len0 = WASM_VECTOR_LEN;
10
+ const ret = wasm.axlsignPublicKey(ptr0, len0);
11
+ if (ret[3]) {
12
+ throw takeFromExternrefTable0(ret[2]);
13
+ }
14
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
15
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
16
+ return v2;
17
+ }
18
+ exports.axlsignPublicKey = axlsignPublicKey;
19
+
20
+ /**
21
+ * @param {Uint8Array} secret_key
22
+ * @param {Uint8Array} public_key
23
+ * @returns {Uint8Array}
24
+ */
25
+ function axlsignSharedKey(secret_key, public_key) {
26
+ const ptr0 = passArray8ToWasm0(secret_key, wasm.__wbindgen_malloc);
27
+ const len0 = WASM_VECTOR_LEN;
28
+ const ptr1 = passArray8ToWasm0(public_key, wasm.__wbindgen_malloc);
29
+ const len1 = WASM_VECTOR_LEN;
30
+ const ret = wasm.axlsignSharedKey(ptr0, len0, ptr1, len1);
31
+ if (ret[3]) {
32
+ throw takeFromExternrefTable0(ret[2]);
33
+ }
34
+ var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
35
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
36
+ return v3;
37
+ }
38
+ exports.axlsignSharedKey = axlsignSharedKey;
39
+
40
+ /**
41
+ * @param {Uint8Array} secret_key
42
+ * @param {Uint8Array} msg
43
+ * @returns {Uint8Array}
44
+ */
45
+ function axlsignSign(secret_key, msg) {
46
+ const ptr0 = passArray8ToWasm0(secret_key, wasm.__wbindgen_malloc);
47
+ const len0 = WASM_VECTOR_LEN;
48
+ const ptr1 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc);
49
+ const len1 = WASM_VECTOR_LEN;
50
+ const ret = wasm.axlsignSign(ptr0, len0, ptr1, len1);
51
+ if (ret[3]) {
52
+ throw takeFromExternrefTable0(ret[2]);
53
+ }
54
+ var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
55
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
56
+ return v3;
57
+ }
58
+ exports.axlsignSign = axlsignSign;
59
+
60
+ /**
61
+ * @param {Uint8Array} secret_key
62
+ * @param {Uint8Array} msg
63
+ * @param {Uint8Array} rnd
64
+ * @returns {Uint8Array}
65
+ */
66
+ function axlsignSignRnd(secret_key, msg, rnd) {
67
+ const ptr0 = passArray8ToWasm0(secret_key, wasm.__wbindgen_malloc);
68
+ const len0 = WASM_VECTOR_LEN;
69
+ const ptr1 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc);
70
+ const len1 = WASM_VECTOR_LEN;
71
+ const ptr2 = passArray8ToWasm0(rnd, wasm.__wbindgen_malloc);
72
+ const len2 = WASM_VECTOR_LEN;
73
+ const ret = wasm.axlsignSignRnd(ptr0, len0, ptr1, len1, ptr2, len2);
74
+ if (ret[3]) {
75
+ throw takeFromExternrefTable0(ret[2]);
76
+ }
77
+ var v4 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
78
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
79
+ return v4;
80
+ }
81
+ exports.axlsignSignRnd = axlsignSignRnd;
82
+
83
+ /**
84
+ * @param {Uint8Array} public_key
85
+ * @param {Uint8Array} msg
86
+ * @param {Uint8Array} signature
87
+ * @returns {boolean}
88
+ */
89
+ function axlsignVerify(public_key, msg, signature) {
90
+ const ptr0 = passArray8ToWasm0(public_key, wasm.__wbindgen_malloc);
91
+ const len0 = WASM_VECTOR_LEN;
92
+ const ptr1 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc);
93
+ const len1 = WASM_VECTOR_LEN;
94
+ const ptr2 = passArray8ToWasm0(signature, wasm.__wbindgen_malloc);
95
+ const len2 = WASM_VECTOR_LEN;
96
+ const ret = wasm.axlsignVerify(ptr0, len0, ptr1, len1, ptr2, len2);
97
+ if (ret[2]) {
98
+ throw takeFromExternrefTable0(ret[1]);
99
+ }
100
+ return ret[0] !== 0;
101
+ }
102
+ exports.axlsignVerify = axlsignVerify;
103
+
104
+ function __wbg_get_imports() {
105
+ const import0 = {
106
+ __proto__: null,
107
+ __wbindgen_cast_0000000000000001: function(arg0, arg1) {
108
+ // Cast intrinsic for `Ref(String) -> Externref`.
109
+ const ret = getStringFromWasm0(arg0, arg1);
110
+ return ret;
111
+ },
112
+ __wbindgen_init_externref_table: function() {
113
+ const table = wasm.__wbindgen_externrefs;
114
+ const offset = table.grow(4);
115
+ table.set(0, undefined);
116
+ table.set(offset + 0, undefined);
117
+ table.set(offset + 1, null);
118
+ table.set(offset + 2, true);
119
+ table.set(offset + 3, false);
120
+ },
121
+ };
122
+ return {
123
+ __proto__: null,
124
+ "./axlsign_wasm_bg.js": import0,
125
+ };
126
+ }
127
+
128
+ function getArrayU8FromWasm0(ptr, len) {
129
+ ptr = ptr >>> 0;
130
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
131
+ }
132
+
133
+ function getStringFromWasm0(ptr, len) {
134
+ ptr = ptr >>> 0;
135
+ return decodeText(ptr, len);
136
+ }
137
+
138
+ let cachedUint8ArrayMemory0 = null;
139
+ function getUint8ArrayMemory0() {
140
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
141
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
142
+ }
143
+ return cachedUint8ArrayMemory0;
144
+ }
145
+
146
+ function passArray8ToWasm0(arg, malloc) {
147
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
148
+ getUint8ArrayMemory0().set(arg, ptr / 1);
149
+ WASM_VECTOR_LEN = arg.length;
150
+ return ptr;
151
+ }
152
+
153
+ function takeFromExternrefTable0(idx) {
154
+ const value = wasm.__wbindgen_externrefs.get(idx);
155
+ wasm.__externref_table_dealloc(idx);
156
+ return value;
157
+ }
158
+
159
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
160
+ cachedTextDecoder.decode();
161
+ function decodeText(ptr, len) {
162
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
163
+ }
164
+
165
+ let WASM_VECTOR_LEN = 0;
166
+
167
+ const wasmPath = `${__dirname}/axlsign_wasm_bg.wasm`;
168
+ const wasmBytes = require('fs').readFileSync(wasmPath);
169
+ const wasmModule = new WebAssembly.Module(wasmBytes);
170
+ let wasm = new WebAssembly.Instance(wasmModule, __wbg_get_imports()).exports;
171
+ wasm.__wbindgen_start();
@@ -0,0 +1,13 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const axlsignPublicKey: (a: number, b: number) => [number, number, number, number];
5
+ export const axlsignSharedKey: (a: number, b: number, c: number, d: number) => [number, number, number, number];
6
+ export const axlsignSign: (a: number, b: number, c: number, d: number) => [number, number, number, number];
7
+ export const axlsignSignRnd: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
8
+ export const axlsignVerify: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
9
+ export const __wbindgen_externrefs: WebAssembly.Table;
10
+ export const __wbindgen_malloc: (a: number, b: number) => number;
11
+ export const __externref_table_dealloc: (a: number) => void;
12
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
13
+ export const __wbindgen_start: () => void;
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "curve25519-node-axlsign",
3
+ "description": "axlsign-compatible primitives for curve25519-node via wasm-bindgen",
4
+ "version": "0.1.0",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/unknownncat/curve25519-node"
9
+ },
10
+ "files": [
11
+ "axlsign_wasm_bg.wasm",
12
+ "axlsign_wasm.js",
13
+ "axlsign_wasm.d.ts"
14
+ ],
15
+ "main": "axlsign_wasm.js",
16
+ "types": "axlsign_wasm.d.ts"
17
+ }
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "@unknownncat/curve25519-node",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Modern zero-dependency X25519 + Ed25519 for Node.js using OpenSSL via node:crypto",
5
5
  "keywords": [
6
6
  "curve25519",
7
7
  "x25519",
8
8
  "ed25519",
9
+ "axlsign",
10
+ "wasm",
9
11
  "crypto",
10
12
  "cryptography",
11
13
  "openssl",
@@ -45,6 +47,12 @@
45
47
  "require": "./dist/cjs/ed25519.js",
46
48
  "default": "./dist/ed25519.js"
47
49
  },
50
+ "./axlsign": {
51
+ "types": "./dist/axlsign.d.ts",
52
+ "import": "./dist/axlsign.js",
53
+ "require": "./dist/cjs/axlsign.js",
54
+ "default": "./dist/axlsign.js"
55
+ },
48
56
  "./types": {
49
57
  "types": "./dist/types.d.ts",
50
58
  "import": "./dist/types.js",
@@ -63,10 +71,14 @@
63
71
  },
64
72
  "scripts": {
65
73
  "clean": "node scripts/clean.mjs",
74
+ "build:wasm": "node scripts/build-axlsign-wasm.mjs",
66
75
  "build:esm": "tsc -p tsconfig.json",
67
76
  "build:cjs": "tsc -p tsconfig.cjs.json && node scripts/write-cjs-package-json.mjs",
68
- "build": "npm run clean && npm run build:esm && npm run build:cjs",
77
+ "build:copy-wasm": "node scripts/copy-axlsign-wasm.mjs",
78
+ "build": "npm run clean && npm run build:wasm && npm run build:esm && npm run build:cjs && npm run build:copy-wasm",
69
79
  "test": "npm run build && node --test \"test/*.test.mjs\"",
80
+ "bench": "npm run build && npm --prefix bench run bench",
81
+ "bench:quick": "npm run build && npm --prefix bench run bench:quick",
70
82
  "prepack": "npm run test",
71
83
  "prepublishOnly": "npm run test"
72
84
  },