release: v7.5.17 - bizinikiwi signing context

- Fixed SR25519 signing context to use "bizinikiwi" for PezkuwiChain
- Implemented proper BIP39 entropy-based key derivation
- Added blake2b, twox (xxhash64) hash functions
- Published from build/ directories for correct npm package structure
This commit is contained in:
2026-02-01 21:44:08 +03:00
parent 650577eece
commit 6039925ed1
25 changed files with 2014 additions and 312 deletions
+138 -5
View File
@@ -14,14 +14,147 @@
"url": "https://github.com/pezkuwichain/pezkuwi-wasm.git"
},
"sideEffects": [
"./packageDetect.js",
"./packageDetect.cjs"
"./build/packageDetect.js",
"./build/cjs/packageDetect.js"
],
"type": "module",
"version": "7.5.10",
"main": "index.js",
"types": "./build/index.d.ts",
"version": "7.5.15",
"main": "./build/cjs/index.js",
"module": "./build/index.js",
"exports": {
".": {
"module": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
},
"require": {
"types": "./build/cjs/index.d.ts",
"default": "./build/cjs/index.js"
},
"default": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
}
},
"./bridge": {
"module": {
"types": "./build/bridge.d.ts",
"default": "./build/bridge.js"
},
"require": {
"types": "./build/cjs/bridge.d.ts",
"default": "./build/cjs/bridge.js"
},
"default": {
"types": "./build/bridge.d.ts",
"default": "./build/bridge.js"
}
},
"./bundle": {
"module": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
},
"require": {
"types": "./build/cjs/bundle.d.ts",
"default": "./build/cjs/bundle.js"
},
"default": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
}
},
"./cjs/*": "./build/cjs/*.js",
"./cjs/package.json": "./build/cjs/package.json",
"./init": {
"module": {
"types": "./build/init.d.ts",
"default": "./build/init.js"
},
"require": {
"types": "./build/cjs/init.d.ts",
"default": "./build/cjs/init.js"
},
"default": {
"types": "./build/init.d.ts",
"default": "./build/init.js"
}
},
"./package.json": "./package.json",
"./packageDetect": {
"module": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
},
"require": {
"types": "./build/cjs/packageDetect.d.ts",
"default": "./build/cjs/packageDetect.js"
},
"default": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
}
},
"./packageInfo": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./packageInfo.js": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./types": {
"module": {
"types": "./build/types.d.ts",
"default": "./build/types.js"
},
"require": {
"types": "./build/cjs/types.d.ts",
"default": "./build/cjs/types.js"
},
"default": {
"types": "./build/types.d.ts",
"default": "./build/types.js"
}
},
"./wbg": {
"module": {
"types": "./build/wbg.d.ts",
"default": "./build/wbg.js"
},
"require": {
"types": "./build/cjs/wbg.d.ts",
"default": "./build/cjs/wbg.js"
},
"default": {
"types": "./build/wbg.d.ts",
"default": "./build/wbg.js"
}
}
},
"dependencies": {
"@pezkuwi/wasm-util": "7.5.10",
"@pezkuwi/wasm-util": "7.5.15",
"tslib": "^2.7.0"
},
"devDependencies": {
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @pezkuwi/dev
export const packageInfo = { name: '@pezkuwi/wasm-bridge', path: 'auto', type: 'auto', version: '7.5.10' };
export const packageInfo = { name: '@pezkuwi/wasm-bridge', path: 'auto', type: 'auto', version: '7.5.15' };
+76
View File
@@ -56,6 +56,11 @@ export class Wbg<C extends WasmBaseInstance> {
return this.#bridge.addObject(DEFAULT_SELF);
};
/** @internal - bizinikiwi wasm hash */
__wbg_self_7eede1f4488bf346 = (): number => {
return this.#bridge.addObject(DEFAULT_SELF);
};
/** @internal - old hash for compatibility */
__wbg_self_1b7a39e3a92c949c = (): number => {
return this.#bridge.addObject(DEFAULT_SELF);
@@ -66,6 +71,11 @@ export class Wbg<C extends WasmBaseInstance> {
throw new Error(`Unable to require ${this.#bridge.getString(ptr, len)}`);
};
/** @internal - bizinikiwi wasm hash */
__wbg_require_900d5c3984fe7703 = (ptr: number, len: number, _extra: number): never => {
throw new Error(`Unable to require ${this.#bridge.getString(ptr, len)}`);
};
/** @internal - old hash for compatibility */
__wbg_require_604837428532a733 = (ptr: number, len: number): never => {
throw new Error(`Unable to require ${this.#bridge.getString(ptr, len)}`);
@@ -76,6 +86,11 @@ export class Wbg<C extends WasmBaseInstance> {
return this.#bridge.addObject(DEFAULT_CRYPTO);
};
/** @internal - bizinikiwi wasm hash */
__wbg_crypto_c909fb428dcbddb6 = (_idx: number): number => {
return this.#bridge.addObject(DEFAULT_CRYPTO);
};
/** @internal - old hash for compatibility */
__wbg_crypto_968f1772287e2df0 = (_idx: number): number => {
return this.#bridge.addObject(DEFAULT_CRYPTO);
@@ -87,11 +102,21 @@ export class Wbg<C extends WasmBaseInstance> {
return this.#bridge.addObject(undefined);
};
/** @internal - bizinikiwi wasm hash */
__wbg_msCrypto_511eefefbfc70ae4 = (_idx: number): number => {
return this.#bridge.addObject(undefined);
};
/** @internal - new hash */
__wbg_getRandomValues_7dfe5bd1b67c9ca1 = (_idx: number): number => {
return this.#bridge.addObject(DEFAULT_CRYPTO.getRandomValues);
};
/** @internal - bizinikiwi wasm hash */
__wbg_getRandomValues_307049345d0bd88c = (_idx: number): number => {
return this.#bridge.addObject(DEFAULT_CRYPTO.getRandomValues);
};
/** @internal - old hash for compatibility */
__wbg_getRandomValues_a3d34b4fee3c2869 = (_idx: number): number => {
return this.#bridge.addObject(DEFAULT_CRYPTO.getRandomValues);
@@ -102,6 +127,11 @@ export class Wbg<C extends WasmBaseInstance> {
DEFAULT_CRYPTO.getRandomValues(this.#bridge.getU8a(ptr, len));
};
/** @internal - bizinikiwi wasm hash (2 arg version) */
__wbg_getRandomValues_cd175915511f705e = (ptr: number, len: number): void => {
DEFAULT_CRYPTO.getRandomValues(this.#bridge.getU8a(ptr, len));
};
/** @internal - old hash for compatibility */
__wbg_getRandomValues_f5e14ab7ac8e995d = (_arg0: number, ptr: number, len: number): void => {
DEFAULT_CRYPTO.getRandomValues(this.#bridge.getU8a(ptr, len));
@@ -112,6 +142,11 @@ export class Wbg<C extends WasmBaseInstance> {
throw new Error('randomFillSync is not available');
};
/** @internal - bizinikiwi wasm hash */
__wbg_randomFillSync_85b3f4c52c56c313 = (_idx: number, _ptr: number, _len: number): never => {
throw new Error('randomFillSync is not available');
};
/** @internal - old hash for compatibility */
__wbg_randomFillSync_d5bd2d655fdf256a = (_idx: number, _ptr: number, _len: number): never => {
throw new Error('randomFillSync is not available');
@@ -132,18 +167,35 @@ export class Wbg<C extends WasmBaseInstance> {
return this.#bridge.addObject(new Uint8Array(len));
};
/** @internal - bizinikiwi wasm hash */
__wbg_newwithlength_728575f3bba9959b = (len: number): number => {
return this.#bridge.addObject(new Uint8Array(len));
};
/** @internal - new: Uint8Array.subarray */
__wbg_subarray_a96e1fef17ed23cb = (idx: number, start: number, end: number): number => {
const arr = this.#bridge.getObject(idx) as Uint8Array;
return this.#bridge.addObject(arr.subarray(start, end));
};
/** @internal - bizinikiwi wasm hash */
__wbg_subarray_7f7a652672800851 = (idx: number, start: number, end: number): number => {
const arr = this.#bridge.getObject(idx) as Uint8Array;
return this.#bridge.addObject(arr.subarray(start, end));
};
/** @internal - new: Uint8Array.length */
__wbg_length_32ed9a279acd054c = (idx: number): number => {
const arr = this.#bridge.getObject(idx) as Uint8Array;
return arr.length;
};
/** @internal - bizinikiwi wasm hash */
__wbg_length_f0764416ba5bb237 = (idx: number): number => {
const arr = this.#bridge.getObject(idx) as Uint8Array;
return arr.length;
};
/** @internal - new: Uint8Array.prototype.set.call */
__wbg_prototypesetcall_bdcdcc5842e4d77d = (destIdx: number, srcIdx: number, offset: number): void => {
const dest = this.#bridge.getObject(destIdx) as Uint8Array;
@@ -155,4 +207,28 @@ export class Wbg<C extends WasmBaseInstance> {
__wbindgen_init_externref_table = (): void => {
// No-op, externref table is initialized by the runtime
};
/** @internal - bizinikiwi wasm: memory accessor */
__wbindgen_memory = (): WebAssembly.Memory => {
return this.#bridge.wasm?.memory as WebAssembly.Memory;
};
/** @internal - bizinikiwi wasm: buffer accessor */
__wbg_buffer_5d1b598a01b41a42 = (memIdx: number): number => {
const mem = this.#bridge.getObject(memIdx) as WebAssembly.Memory;
return this.#bridge.addObject(mem.buffer);
};
/** @internal - bizinikiwi wasm: Uint8Array constructor */
__wbg_new_ace717933ad7117f = (bufferIdx: number): number => {
const buffer = this.#bridge.getObject(bufferIdx) as ArrayBuffer;
return this.#bridge.addObject(new Uint8Array(buffer));
};
/** @internal - bizinikiwi wasm: Uint8Array.set */
__wbg_set_74906aa30864df5a = (destIdx: number, srcIdx: number, offset: number): void => {
const dest = this.#bridge.getObject(destIdx) as Uint8Array;
const src = this.#bridge.getObject(srcIdx) as Uint8Array;
dest.set(src, offset);
};
}
+81 -4
View File
@@ -14,12 +14,89 @@
"url": "https://github.com/pezkuwichain/pezkuwi-wasm.git"
},
"sideEffects": [
"./packageDetect.js",
"./packageDetect.cjs"
"./build/packageDetect.js",
"./build/cjs/packageDetect.js"
],
"type": "module",
"version": "7.5.10",
"main": "index.js",
"types": "./build/index.d.ts",
"version": "7.5.15",
"main": "./build/cjs/index.js",
"module": "./build/index.js",
"exports": {
".": {
"module": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
},
"require": {
"types": "./build/cjs/index.d.ts",
"default": "./build/cjs/index.js"
},
"default": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
}
},
"./bundle": {
"module": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
},
"require": {
"types": "./build/cjs/bundle.d.ts",
"default": "./build/cjs/bundle.js"
},
"default": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
}
},
"./cjs/*": "./build/cjs/*.js",
"./cjs/package.json": "./build/cjs/package.json",
"./package.json": "./package.json",
"./packageDetect": {
"module": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
},
"require": {
"types": "./build/cjs/packageDetect.d.ts",
"default": "./build/cjs/packageDetect.js"
},
"default": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
}
},
"./packageInfo": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./packageInfo.js": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
}
},
"dependencies": {
"tslib": "^2.7.0"
},
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @pezkuwi/dev
export const packageInfo = { name: '@pezkuwi/wasm-crypto-asmjs', path: 'auto', type: 'auto', version: '7.5.10' };
export const packageInfo = { name: '@pezkuwi/wasm-crypto-asmjs', path: 'auto', type: 'auto', version: '7.5.15' };
+188 -10
View File
@@ -14,19 +14,197 @@
"url": "https://github.com/pezkuwichain/pezkuwi-wasm.git"
},
"sideEffects": [
"./packageDetect.js",
"./packageDetect.cjs"
"./build/packageDetect.js",
"./build/cjs/packageDetect.js"
],
"type": "module",
"version": "7.5.10",
"browser": "wasm.js",
"main": "wasm.js",
"react-native": "asm.js",
"types": "./build/wasm.d.ts",
"version": "7.5.15",
"browser": "./build/cjs/wasm.js",
"main": "./build/cjs/wasm.js",
"module": "./build/wasm.js",
"react-native": "./build/cjs/asm.js",
"exports": {
".": {
"types": "./build/wasm.d.ts",
"react-native": {
"module": {
"types": "./build/asm.d.ts",
"default": "./build/asm.js"
},
"require": {
"types": "./build/cjs/asm.d.ts",
"default": "./build/cjs/asm.js"
},
"default": {
"types": "./build/asm.d.ts",
"default": "./build/asm.js"
}
},
"browser": {
"module": {
"types": "./build/wasm.d.ts",
"default": "./build/wasm.js"
},
"require": {
"types": "./build/cjs/wasm.d.ts",
"default": "./build/cjs/wasm.js"
},
"default": {
"types": "./build/wasm.d.ts",
"default": "./build/wasm.js"
}
},
"node": {
"module": {
"types": "./build/wasm.d.ts",
"default": "./build/wasm.js"
},
"require": {
"types": "./build/cjs/wasm.d.ts",
"default": "./build/cjs/wasm.js"
},
"default": {
"types": "./build/wasm.d.ts",
"default": "./build/wasm.js"
}
}
},
"./asm": {
"module": {
"types": "./build/asm.d.ts",
"default": "./build/asm.js"
},
"require": {
"types": "./build/cjs/asm.d.ts",
"default": "./build/cjs/asm.js"
},
"default": {
"types": "./build/asm.d.ts",
"default": "./build/asm.js"
}
},
"./both": {
"module": {
"types": "./build/both.d.ts",
"default": "./build/both.js"
},
"require": {
"types": "./build/cjs/both.d.ts",
"default": "./build/cjs/both.js"
},
"default": {
"types": "./build/both.d.ts",
"default": "./build/both.js"
}
},
"./bundle": {
"module": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
},
"require": {
"types": "./build/cjs/bundle.d.ts",
"default": "./build/cjs/bundle.js"
},
"default": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
}
},
"./cjs/*": "./build/cjs/*.js",
"./cjs/package.json": "./build/cjs/package.json",
"./none": {
"module": {
"types": "./build/none.d.ts",
"default": "./build/none.js"
},
"require": {
"types": "./build/cjs/none.d.ts",
"default": "./build/cjs/none.js"
},
"default": {
"types": "./build/none.d.ts",
"default": "./build/none.js"
}
},
"./package.json": "./package.json",
"./packageDetect": {
"module": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
},
"require": {
"types": "./build/cjs/packageDetect.d.ts",
"default": "./build/cjs/packageDetect.js"
},
"default": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
}
},
"./packageInfo": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./packageInfo.js": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./types": {
"module": {
"types": "./build/types.d.ts",
"default": "./build/types.js"
},
"require": {
"types": "./build/cjs/types.d.ts",
"default": "./build/cjs/types.js"
},
"default": {
"types": "./build/types.d.ts",
"default": "./build/types.js"
}
},
"./wasm": {
"module": {
"types": "./build/wasm.d.ts",
"default": "./build/wasm.js"
},
"require": {
"types": "./build/cjs/wasm.d.ts",
"default": "./build/cjs/wasm.js"
},
"default": {
"types": "./build/wasm.d.ts",
"default": "./build/wasm.js"
}
}
},
"dependencies": {
"@pezkuwi/wasm-bridge": "7.5.10",
"@pezkuwi/wasm-crypto-asmjs": "7.5.10",
"@pezkuwi/wasm-crypto-wasm": "7.5.10",
"@pezkuwi/wasm-util": "7.5.10",
"@pezkuwi/wasm-bridge": "7.5.15",
"@pezkuwi/wasm-crypto-asmjs": "7.5.15",
"@pezkuwi/wasm-crypto-wasm": "7.5.15",
"@pezkuwi/wasm-util": "7.5.15",
"tslib": "^2.7.0"
},
"devDependencies": {
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @pezkuwi/dev
export const packageInfo = { name: '@pezkuwi/wasm-crypto-init', path: 'auto', type: 'auto', version: '7.5.10' };
export const packageInfo = { name: '@pezkuwi/wasm-crypto-init', path: 'auto', type: 'auto', version: '7.5.15' };
+96 -5
View File
@@ -14,14 +14,105 @@
"url": "https://github.com/pezkuwichain/pezkuwi-wasm.git"
},
"sideEffects": [
"./packageDetect.js",
"./packageDetect.cjs"
"./build/packageDetect.js",
"./build/cjs/packageDetect.js"
],
"type": "module",
"version": "7.5.10",
"main": "index.js",
"types": "./build/index.d.ts",
"version": "7.5.15",
"main": "./build/cjs/index.js",
"module": "./build/index.js",
"exports": {
".": {
"module": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
},
"require": {
"types": "./build/cjs/index.d.ts",
"default": "./build/cjs/index.js"
},
"default": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
}
},
"./bundle": {
"module": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
},
"require": {
"types": "./build/cjs/bundle.d.ts",
"default": "./build/cjs/bundle.js"
},
"default": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
}
},
"./bytes": {
"module": {
"types": "./build/bytes.d.ts",
"default": "./build/bytes.js"
},
"require": {
"types": "./build/cjs/bytes.d.ts",
"default": "./build/cjs/bytes.js"
},
"default": {
"types": "./build/bytes.d.ts",
"default": "./build/bytes.js"
}
},
"./cjs/*": "./build/cjs/*.js",
"./cjs/package.json": "./build/cjs/package.json",
"./package.json": "./package.json",
"./packageDetect": {
"module": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
},
"require": {
"types": "./build/cjs/packageDetect.d.ts",
"default": "./build/cjs/packageDetect.js"
},
"default": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
}
},
"./packageInfo": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./packageInfo.js": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
}
},
"dependencies": {
"@pezkuwi/wasm-util": "7.5.10",
"@pezkuwi/wasm-util": "7.5.15",
"tslib": "^2.7.0"
},
"devDependencies": {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @pezkuwi/dev
export const packageInfo = { name: '@pezkuwi/wasm-crypto-wasm', path: 'auto', type: 'auto', version: '7.5.10' };
export const packageInfo = { name: '@pezkuwi/wasm-crypto-wasm', path: 'auto', type: 'auto', version: '7.5.15' };
+1 -1
View File
@@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
version = 3
[[package]]
name = "addr2line"
+165 -17
View File
@@ -14,26 +14,174 @@
"url": "https://github.com/pezkuwichain/pezkuwi-wasm.git"
},
"sideEffects": [
"./initNone.js",
"./initNone.cjs",
"./initOnlyAsm.js",
"./initOnlyAsm.cjs",
"./initOnlyWasm.js",
"./initOnlyWasm.cjs",
"./initWasmAsm.js",
"./initWasmAsm.cjs",
"./packageDetect.js",
"./packageDetect.cjs"
"./build/initNone.js",
"./build/cjs/initNone.js",
"./build/initOnlyAsm.js",
"./build/cjs/initOnlyAsm.js",
"./build/initOnlyWasm.js",
"./build/cjs/initOnlyWasm.js",
"./build/initWasmAsm.js",
"./build/cjs/initWasmAsm.js",
"./build/packageDetect.js",
"./build/cjs/packageDetect.js"
],
"type": "module",
"version": "7.5.10",
"main": "index.js",
"types": "./build/index.d.ts",
"version": "7.5.15",
"main": "./build/cjs/index.js",
"module": "./build/index.js",
"exports": {
".": {
"module": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
},
"require": {
"types": "./build/cjs/index.d.ts",
"default": "./build/cjs/index.js"
},
"default": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
}
},
"./bundle": {
"module": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
},
"require": {
"types": "./build/cjs/bundle.d.ts",
"default": "./build/cjs/bundle.js"
},
"default": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
}
},
"./cjs/*": "./build/cjs/*.js",
"./cjs/package.json": "./build/cjs/package.json",
"./init": {
"module": {
"types": "./build/init.d.ts",
"default": "./build/init.js"
},
"require": {
"types": "./build/cjs/init.d.ts",
"default": "./build/cjs/init.js"
},
"default": {
"types": "./build/init.d.ts",
"default": "./build/init.js"
}
},
"./initNone": {
"module": {
"types": "./build/initNone.d.ts",
"default": "./build/initNone.js"
},
"require": {
"types": "./build/cjs/initNone.d.ts",
"default": "./build/cjs/initNone.js"
},
"default": {
"types": "./build/initNone.d.ts",
"default": "./build/initNone.js"
}
},
"./initOnlyAsm": {
"module": {
"types": "./build/initOnlyAsm.d.ts",
"default": "./build/initOnlyAsm.js"
},
"require": {
"types": "./build/cjs/initOnlyAsm.d.ts",
"default": "./build/cjs/initOnlyAsm.js"
},
"default": {
"types": "./build/initOnlyAsm.d.ts",
"default": "./build/initOnlyAsm.js"
}
},
"./initOnlyWasm": {
"module": {
"types": "./build/initOnlyWasm.d.ts",
"default": "./build/initOnlyWasm.js"
},
"require": {
"types": "./build/cjs/initOnlyWasm.d.ts",
"default": "./build/cjs/initOnlyWasm.js"
},
"default": {
"types": "./build/initOnlyWasm.d.ts",
"default": "./build/initOnlyWasm.js"
}
},
"./initWasmAsm": {
"module": {
"types": "./build/initWasmAsm.d.ts",
"default": "./build/initWasmAsm.js"
},
"require": {
"types": "./build/cjs/initWasmAsm.d.ts",
"default": "./build/cjs/initWasmAsm.js"
},
"default": {
"types": "./build/initWasmAsm.d.ts",
"default": "./build/initWasmAsm.js"
}
},
"./package.json": "./package.json",
"./packageDetect": {
"module": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
},
"require": {
"types": "./build/cjs/packageDetect.d.ts",
"default": "./build/cjs/packageDetect.js"
},
"default": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
}
},
"./packageInfo": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./packageInfo.js": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
}
},
"dependencies": {
"@pezkuwi/wasm-bridge": "7.5.10",
"@pezkuwi/wasm-crypto-asmjs": "7.5.10",
"@pezkuwi/wasm-crypto-init": "7.5.10",
"@pezkuwi/wasm-crypto-wasm": "7.5.10",
"@pezkuwi/wasm-util": "7.5.10",
"@noble/hashes": "^1.3.3",
"@pezkuwi/wasm-bridge": "7.5.15",
"@pezkuwi/wasm-crypto-asmjs": "7.5.15",
"@pezkuwi/wasm-crypto-init": "7.5.15",
"@pezkuwi/wasm-crypto-wasm": "7.5.15",
"@pezkuwi/wasm-util": "7.5.15",
"tslib": "^2.7.0"
},
"devDependencies": {
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -1,6 +1,5 @@
// Copyright 2019-2026 @pezkuwi/wasm-crypto authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './packageDetect.js';
// Re-export everything from bundle
export * from './bundle.js';
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @pezkuwi/dev
export const packageInfo = { name: '@pezkuwi/wasm-crypto', path: 'auto', type: 'auto', version: '7.5.10' };
export const packageInfo = { name: '@pezkuwi/wasm-crypto', path: 'auto', type: 'auto', version: '7.5.15' };
+109 -4
View File
@@ -14,12 +14,117 @@
"url": "https://github.com/pezkuwichain/pezkuwi-wasm.git"
},
"sideEffects": [
"./packageDetect.js",
"./packageDetect.cjs"
"./build/packageDetect.js",
"./build/cjs/packageDetect.js"
],
"type": "module",
"version": "7.5.10",
"main": "index.js",
"types": "./build/index.d.ts",
"version": "7.5.15",
"main": "./build/cjs/index.js",
"module": "./build/index.js",
"exports": {
".": {
"module": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
},
"require": {
"types": "./build/cjs/index.d.ts",
"default": "./build/cjs/index.js"
},
"default": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
}
},
"./base64": {
"module": {
"types": "./build/base64.d.ts",
"default": "./build/base64.js"
},
"require": {
"types": "./build/cjs/base64.d.ts",
"default": "./build/cjs/base64.js"
},
"default": {
"types": "./build/base64.d.ts",
"default": "./build/base64.js"
}
},
"./bundle": {
"module": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
},
"require": {
"types": "./build/cjs/bundle.d.ts",
"default": "./build/cjs/bundle.js"
},
"default": {
"types": "./build/bundle.d.ts",
"default": "./build/bundle.js"
}
},
"./cjs/*": "./build/cjs/*.js",
"./cjs/package.json": "./build/cjs/package.json",
"./fflate": {
"module": {
"types": "./build/fflate.d.ts",
"default": "./build/fflate.js"
},
"require": {
"types": "./build/cjs/fflate.d.ts",
"default": "./build/cjs/fflate.js"
},
"default": {
"types": "./build/fflate.d.ts",
"default": "./build/fflate.js"
}
},
"./package.json": "./package.json",
"./packageDetect": {
"module": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
},
"require": {
"types": "./build/cjs/packageDetect.d.ts",
"default": "./build/cjs/packageDetect.js"
},
"default": {
"types": "./build/packageDetect.d.ts",
"default": "./build/packageDetect.js"
}
},
"./packageInfo": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
},
"./packageInfo.js": {
"module": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
},
"require": {
"types": "./build/cjs/packageInfo.d.ts",
"default": "./build/cjs/packageInfo.js"
},
"default": {
"types": "./build/packageInfo.d.ts",
"default": "./build/packageInfo.js"
}
}
},
"dependencies": {
"tslib": "^2.7.0"
},
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @pezkuwi/dev
export const packageInfo = { name: '@pezkuwi/wasm-util', path: 'auto', type: 'auto', version: '7.5.10' };
export const packageInfo = { name: '@pezkuwi/wasm-util', path: 'auto', type: 'auto', version: '7.5.15' };
+2 -2
View File
@@ -5,7 +5,7 @@
set -e
source ../scripts/rust-version.sh
source scripts/rust-version.sh
WSM=$PKG_NAME/build-wasm/wasm_bg.wasm
OPT=$PKG_NAME/build-wasm/wasm_opt.wasm
@@ -19,7 +19,7 @@ cd $PKG_NAME
if [ "$RUST_VER" == "stable" ]; then
RUSTC_BOOTSTRAP=1 cargo build --target wasm32-unknown-unknown --release -Z build-std=std,panic_abort
else
rustup run $RUST_VER xargo build --target wasm32-unknown-unknown --release --locked
rustup run $RUST_VER xargo build --target wasm32-unknown-unknown --release
fi
cd ..
+1 -1
View File
@@ -3,4 +3,4 @@
# This software may be modified and distributed under the terms
# of the Apache-2.0 license. See the LICENSE file for details.
RUST_VER=nightly-2022-06-24
RUST_VER=stable
+222
View File
@@ -0,0 +1,222 @@
// Quick test of bizinikiwi WASM integration
import { createRequire } from 'module';
import crypto from 'crypto';
// First let's test if the WASM bytes are correct
const require = createRequire(import.meta.url);
const { bytes, lenIn, lenOut } = require('./packages/wasm-crypto-wasm/src/cjs/bytes.js');
console.log('=== Testing Bizinikiwi WASM ===');
console.log('Compressed size:', lenIn);
console.log('Uncompressed size:', lenOut);
// Decompress and test
import zlib from 'zlib';
const compressed = Buffer.from(bytes, 'base64');
console.log('Actual compressed bytes:', compressed.length);
const wasmBytes = zlib.inflateSync(compressed);
console.log('Actual WASM bytes:', wasmBytes.length);
// Test instantiation with the proper imports
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
let cachedUint8ArrayMemory = null;
let wasm = null;
let WASM_VECTOR_LEN = 0;
function getUint8ArrayMemory() {
if (cachedUint8ArrayMemory === null || cachedUint8ArrayMemory.byteLength === 0) {
cachedUint8ArrayMemory = new Uint8Array(wasm.memory.buffer);
}
return cachedUint8ArrayMemory;
}
function getStringFromWasm(ptr, len) {
ptr = ptr >>> 0;
return cachedTextDecoder.decode(getUint8ArrayMemory().subarray(ptr, ptr + len));
}
function getArrayU8FromWasm(ptr, len) {
ptr = ptr >>> 0;
return getUint8ArrayMemory().subarray(ptr / 1, ptr / 1 + len);
}
function passArray8ToWasm(arg, malloc) {
const ptr = malloc(arg.length * 1, 1) >>> 0;
getUint8ArrayMemory().set(arg, ptr / 1);
WASM_VECTOR_LEN = arg.length;
return ptr;
}
// Externref table helpers
function addToExternrefTable(obj) {
const idx = wasm.__externref_table_alloc();
wasm.__wbindgen_externrefs.set(idx, obj);
return idx;
}
function takeFromExternrefTable(idx) {
const value = wasm.__wbindgen_externrefs.get(idx);
wasm.__externref_table_dealloc(idx);
return value;
}
function isLikeNone(x) {
return x === undefined || x === null;
}
function handleError(f, args) {
try {
return f.apply(null, args);
} catch (e) {
const idx = addToExternrefTable(e);
wasm.__wbindgen_exn_store(idx);
}
}
// WASM imports
const import0 = {
__wbg___wbindgen_is_function_0095a73b8b156f76: (arg0) => typeof(arg0) === 'function',
__wbg___wbindgen_is_object_5ae8e5880f2c1fbd: (arg0) => typeof(arg0) === 'object' && arg0 !== null,
__wbg___wbindgen_is_string_cd444516edc5b180: (arg0) => typeof(arg0) === 'string',
__wbg___wbindgen_is_undefined_9e4d92534c42d778: (arg0) => arg0 === undefined,
__wbg___wbindgen_throw_be289d5034ed271b: (arg0, arg1) => { throw new Error(getStringFromWasm(arg0, arg1)); },
__wbg_call_389efe28435a9388: function() { return handleError((arg0, arg1) => arg0.call(arg1), arguments); },
__wbg_call_4708e0c13bdc8e95: function() { return handleError((arg0, arg1, arg2) => arg0.call(arg1, arg2), arguments); },
__wbg_crypto_86f2631e91b51511: (arg0) => arg0.crypto,
__wbg_getRandomValues_b3f15fcbfabb0f8b: function() { return handleError((arg0, arg1) => arg0.getRandomValues(arg1), arguments); },
__wbg_length_32ed9a279acd054c: (arg0) => arg0.length,
__wbg_msCrypto_d562bbe83e0d4b91: (arg0) => arg0.msCrypto,
__wbg_new_no_args_1c7c842f08d00ebb: (arg0, arg1) => new Function(getStringFromWasm(arg0, arg1)),
__wbg_new_with_length_a2c39cbe88fd8ff1: (arg0) => new Uint8Array(arg0 >>> 0),
__wbg_node_e1f24f89a7336c2e: (arg0) => arg0.node,
__wbg_process_3975fd6c72f520aa: (arg0) => arg0.process,
__wbg_prototypesetcall_bdcdcc5842e4d77d: (arg0, arg1, arg2) => Uint8Array.prototype.set.call(getArrayU8FromWasm(arg0, arg1), arg2),
__wbg_randomFillSync_f8c153b79f285817: function() { return handleError((arg0, arg1) => arg0.randomFillSync(arg1), arguments); },
__wbg_require_b74f47fc2d022fd6: function() { return handleError(() => module.require, arguments); },
__wbg_static_accessor_GLOBAL_12837167ad935116: () => isLikeNone(global) ? 0 : addToExternrefTable(global),
__wbg_static_accessor_GLOBAL_THIS_e628e89ab3b1c95f: () => isLikeNone(globalThis) ? 0 : addToExternrefTable(globalThis),
__wbg_static_accessor_SELF_a621d3dfbb60d0ce: () => isLikeNone(typeof self === 'undefined' ? null : self) ? 0 : addToExternrefTable(self),
__wbg_static_accessor_WINDOW_f8727f0cf888e0bd: () => isLikeNone(typeof window === 'undefined' ? null : window) ? 0 : addToExternrefTable(window),
__wbg_subarray_a96e1fef17ed23cb: (arg0, arg1, arg2) => arg0.subarray(arg1 >>> 0, arg2 >>> 0),
__wbg_versions_4e31226f5e8dc909: (arg0) => arg0.versions,
__wbindgen_cast_0000000000000001: (arg0, arg1) => getArrayU8FromWasm(arg0, arg1),
__wbindgen_cast_0000000000000002: (arg0, arg1) => getStringFromWasm(arg0, arg1),
__wbindgen_init_externref_table: () => {
const table = wasm.__wbindgen_externrefs;
const offset = table.grow(4);
table.set(0, undefined);
table.set(offset + 0, undefined);
table.set(offset + 1, null);
table.set(offset + 2, true);
table.set(offset + 3, false);
},
};
const imports = {
'./pezkuwi_wasm_crypto_bg.js': import0,
};
console.log('\nInstantiating WASM...');
try {
const result = await WebAssembly.instantiate(wasmBytes, imports);
wasm = result.instance.exports;
console.log('WASM exports:', Object.keys(wasm).slice(0, 10), '...');
// Initialize
if (wasm.__wbindgen_start) {
wasm.__wbindgen_start();
console.log('Called __wbindgen_start');
}
// Test get_signing_context
console.log('\n--- Testing get_signing_context ---');
const ret = wasm.get_signing_context();
const signingContext = getStringFromWasm(ret[0], ret[1]);
wasm.__wbindgen_free(ret[0], ret[1], 1);
console.log('Signing context:', signingContext);
if (signingContext === 'bizinikiwi') {
console.log('BIZINIKIWI CONTEXT CONFIRMED!');
} else {
console.log('WARNING: Expected "bizinikiwi" but got:', signingContext);
}
// Test sr25519_keypair_from_seed
console.log('\n--- Testing sr25519_keypair_from_seed ---');
// Use a fixed seed for reproducible testing (normally derived from mnemonic)
const seed = new Uint8Array([
0x9d, 0x61, 0xb1, 0x9d, 0xef, 0xfd, 0x5a, 0x60,
0xba, 0x84, 0x4a, 0xf4, 0x92, 0xec, 0x2c, 0xc4,
0x44, 0x49, 0xc5, 0x69, 0x7b, 0x32, 0x69, 0x19,
0x70, 0x3b, 0xac, 0x03, 0x1c, 0xae, 0x7f, 0x60
]);
console.log('Seed:', Buffer.from(seed).toString('hex'));
const ptr0 = passArray8ToWasm(seed, wasm.__wbindgen_malloc);
const len0 = WASM_VECTOR_LEN;
const kpRet = wasm.sr25519_keypair_from_seed(ptr0, len0);
if (kpRet[3]) {
console.log('ERROR: keypair generation failed');
console.log(takeFromExternrefTable(kpRet[2]));
} else {
const keypair = getArrayU8FromWasm(kpRet[0], kpRet[1]).slice();
wasm.__wbindgen_free(kpRet[0], kpRet[1] * 1, 1);
const secretKey = keypair.slice(0, 64);
const publicKey = keypair.slice(64, 96);
console.log('Keypair length:', keypair.length);
console.log('Public key:', Buffer.from(publicKey).toString('hex'));
// Test sr25519_sign
console.log('\n--- Testing sr25519_sign ---');
const message = new TextEncoder().encode('test message');
const ptr1 = passArray8ToWasm(publicKey, wasm.__wbindgen_malloc);
const len1 = WASM_VECTOR_LEN;
const ptr2 = passArray8ToWasm(secretKey, wasm.__wbindgen_malloc);
const len2 = WASM_VECTOR_LEN;
const ptr3 = passArray8ToWasm(message, wasm.__wbindgen_malloc);
const len3 = WASM_VECTOR_LEN;
const sigRet = wasm.sr25519_sign(ptr1, len1, ptr2, len2, ptr3, len3);
if (sigRet[3]) {
console.log('ERROR: signing failed');
console.log(takeFromExternrefTable(sigRet[2]));
} else {
const signature = getArrayU8FromWasm(sigRet[0], sigRet[1]).slice();
wasm.__wbindgen_free(sigRet[0], sigRet[1] * 1, 1);
console.log('Signature:', Buffer.from(signature).toString('hex').slice(0, 64) + '...');
console.log('Signature length:', signature.length);
// Test sr25519_verify
console.log('\n--- Testing sr25519_verify ---');
const vPtr0 = passArray8ToWasm(signature, wasm.__wbindgen_malloc);
const vLen0 = WASM_VECTOR_LEN;
const vPtr1 = passArray8ToWasm(message, wasm.__wbindgen_malloc);
const vLen1 = WASM_VECTOR_LEN;
const vPtr2 = passArray8ToWasm(publicKey, wasm.__wbindgen_malloc);
const vLen2 = WASM_VECTOR_LEN;
const verified = wasm.sr25519_verify(vPtr0, vLen0, vPtr1, vLen1, vPtr2, vLen2);
console.log('Verification result:', verified !== 0 ? 'SUCCESS' : 'FAILED');
if (verified !== 0) {
console.log('\n=======================================');
console.log('BIZINIKIWI WASM INTEGRATION WORKING!');
console.log('=======================================');
}
}
}
} catch (error) {
console.error('Error:', error.message);
console.error(error.stack);
}
+62
View File
@@ -0,0 +1,62 @@
// Test the built package
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
// Load the built bundle
const bundle = await import('./packages/wasm-crypto/build/bundle.js');
console.log('=== Testing Built Bundle ===');
console.log('Available exports:', Object.keys(bundle));
// Wait for WASM to initialize
console.log('\nInitializing WASM...');
const ready = await bundle.waitReady();
console.log('WASM ready:', ready);
if (ready) {
// Test signing context
console.log('\n--- Testing getSigningContext ---');
const context = bundle.getSigningContext();
console.log('Signing context:', context);
if (context === 'bizinikiwi') {
console.log('BIZINIKIWI CONFIRMED!');
} else {
console.log('WARNING: Expected "bizinikiwi" but got:', context);
}
// Test sr25519KeypairFromSeed
console.log('\n--- Testing sr25519KeypairFromSeed ---');
const seed = new Uint8Array([
0x9d, 0x61, 0xb1, 0x9d, 0xef, 0xfd, 0x5a, 0x60,
0xba, 0x84, 0x4a, 0xf4, 0x92, 0xec, 0x2c, 0xc4,
0x44, 0x49, 0xc5, 0x69, 0x7b, 0x32, 0x69, 0x19,
0x70, 0x3b, 0xac, 0x03, 0x1c, 0xae, 0x7f, 0x60
]);
const keypair = bundle.sr25519KeypairFromSeed(seed);
const secretKey = keypair.slice(0, 64);
const publicKey = keypair.slice(64, 96);
console.log('Keypair length:', keypair.length);
console.log('Public key:', Buffer.from(publicKey).toString('hex'));
// Test sr25519Sign
console.log('\n--- Testing sr25519Sign ---');
const message = new TextEncoder().encode('test message');
const signature = bundle.sr25519Sign(publicKey, secretKey, message);
console.log('Signature:', Buffer.from(signature).toString('hex').slice(0, 64) + '...');
// Test sr25519Verify
console.log('\n--- Testing sr25519Verify ---');
const verified = bundle.sr25519Verify(signature, message, publicKey);
console.log('Verification:', verified ? 'SUCCESS' : 'FAILED');
if (verified) {
console.log('\n=======================================');
console.log('BIZINIKIWI WASM PACKAGE WORKING!');
console.log('=======================================');
}
} else {
console.log('FAILED to initialize WASM');
}
+238
View File
@@ -0,0 +1,238 @@
// Direct test without going through npm package resolution
import zlib from 'zlib';
// Load bytes directly from the source
const bytesModule = await import('./packages/wasm-crypto-wasm/src/cjs/bytes.js');
const { bytes, lenIn, lenOut } = bytesModule;
console.log('=== Testing Bizinikiwi WASM Directly ===');
console.log('Compressed size:', lenIn);
console.log('Uncompressed size:', lenOut);
// Decompress
const compressed = Buffer.from(bytes, 'base64');
const wasmBytes = zlib.inflateSync(compressed);
console.log('WASM size:', wasmBytes.length);
// Check import module name
const wasmStr = wasmBytes.toString('utf8', 0, 500);
const moduleNameMatch = wasmStr.match(/pezkuwi_wasm_crypto_bg\.js/);
if (moduleNameMatch) {
console.log('Import module: ./pezkuwi_wasm_crypto_bg.js (bizinikiwi WASM confirmed!)');
} else {
console.log('Import module: NOT bizinikiwi WASM');
process.exit(1);
}
// WASM helpers
let wasm = null;
let cachedUint8ArrayMemory = null;
let cachedTextDecoder = null;
let WASM_VECTOR_LEN = 0;
function getUint8ArrayMemory() {
if (cachedUint8ArrayMemory === null || cachedUint8ArrayMemory.byteLength === 0) {
cachedUint8ArrayMemory = new Uint8Array(wasm['memory'].buffer);
}
return cachedUint8ArrayMemory;
}
function getStringFromWasm(ptr, len) {
if (!cachedTextDecoder) {
cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
cachedTextDecoder.decode();
}
ptr = ptr >>> 0;
return cachedTextDecoder.decode(getUint8ArrayMemory().subarray(ptr, ptr + len));
}
function getArrayU8FromWasm(ptr, len) {
ptr = ptr >>> 0;
return getUint8ArrayMemory().subarray(ptr / 1, ptr / 1 + len);
}
function passArray8ToWasm(arg, malloc) {
const ptr = malloc(arg.length * 1, 1) >>> 0;
getUint8ArrayMemory().set(arg, ptr / 1);
WASM_VECTOR_LEN = arg.length;
return ptr;
}
function addToExternrefTable(obj) {
const idx = wasm['__externref_table_alloc']();
wasm['__wbindgen_externrefs'].set(idx, obj);
return idx;
}
function takeFromExternrefTable(idx) {
const value = wasm['__wbindgen_externrefs'].get(idx);
wasm['__externref_table_dealloc'](idx);
return value;
}
function isLikeNone(x) {
return x === undefined || x === null;
}
function handleError(f, args) {
try {
return f.apply(null, args);
} catch (e) {
const idx = addToExternrefTable(e);
wasm['__wbindgen_exn_store'](idx);
return undefined;
}
}
// WASM imports
import crypto from 'crypto';
const import0 = {
__wbg___wbindgen_is_function_0095a73b8b156f76: (arg0) => typeof(arg0) === 'function',
__wbg___wbindgen_is_object_5ae8e5880f2c1fbd: (arg0) => typeof(arg0) === 'object' && arg0 !== null,
__wbg___wbindgen_is_string_cd444516edc5b180: (arg0) => typeof(arg0) === 'string',
__wbg___wbindgen_is_undefined_9e4d92534c42d778: (arg0) => arg0 === undefined,
__wbg___wbindgen_throw_be289d5034ed271b: (arg0, arg1) => { throw new Error(getStringFromWasm(arg0, arg1)); },
__wbg_call_389efe28435a9388: function() { return handleError((arg0, arg1) => arg0.call(arg1), arguments); },
__wbg_call_4708e0c13bdc8e95: function() { return handleError((arg0, arg1, arg2) => arg0.call(arg1, arg2), arguments); },
__wbg_crypto_86f2631e91b51511: (arg0) => arg0.crypto,
__wbg_getRandomValues_b3f15fcbfabb0f8b: function() { return handleError((arg0, arg1) => arg0.getRandomValues(arg1), arguments); },
__wbg_length_32ed9a279acd054c: (arg0) => arg0.length,
__wbg_msCrypto_d562bbe83e0d4b91: (arg0) => arg0.msCrypto,
__wbg_new_no_args_1c7c842f08d00ebb: (arg0, arg1) => new Function(getStringFromWasm(arg0, arg1)),
__wbg_new_with_length_a2c39cbe88fd8ff1: (arg0) => new Uint8Array(arg0 >>> 0),
__wbg_node_e1f24f89a7336c2e: (arg0) => arg0.node,
__wbg_process_3975fd6c72f520aa: (arg0) => arg0.process,
__wbg_prototypesetcall_bdcdcc5842e4d77d: (arg0, arg1, arg2) => Uint8Array.prototype.set.call(getArrayU8FromWasm(arg0, arg1), arg2),
__wbg_randomFillSync_f8c153b79f285817: function() { return handleError((arg0, arg1) => arg0.randomFillSync(arg1), arguments); },
__wbg_require_b74f47fc2d022fd6: function() { return handleError(() => module.require, arguments); },
__wbg_static_accessor_GLOBAL_12837167ad935116: () => isLikeNone(global) ? 0 : addToExternrefTable(global),
__wbg_static_accessor_GLOBAL_THIS_e628e89ab3b1c95f: () => isLikeNone(globalThis) ? 0 : addToExternrefTable(globalThis),
__wbg_static_accessor_SELF_a621d3dfbb60d0ce: () => isLikeNone(typeof self === 'undefined' ? null : self) ? 0 : addToExternrefTable(self),
__wbg_static_accessor_WINDOW_f8727f0cf888e0bd: () => isLikeNone(typeof window === 'undefined' ? null : window) ? 0 : addToExternrefTable(window),
__wbg_subarray_a96e1fef17ed23cb: (arg0, arg1, arg2) => arg0.subarray(arg1 >>> 0, arg2 >>> 0),
__wbg_versions_4e31226f5e8dc909: (arg0) => arg0.versions,
__wbindgen_cast_0000000000000001: (arg0, arg1) => getArrayU8FromWasm(arg0, arg1),
__wbindgen_cast_0000000000000002: (arg0, arg1) => getStringFromWasm(arg0, arg1),
__wbindgen_init_externref_table: () => {
const table = wasm['__wbindgen_externrefs'];
const offset = table.grow(4);
table.set(0, undefined);
table.set(offset + 0, undefined);
table.set(offset + 1, null);
table.set(offset + 2, true);
table.set(offset + 3, false);
},
};
const imports = {
'./pezkuwi_wasm_crypto_bg.js': import0,
};
console.log('\nInstantiating WASM...');
try {
const result = await WebAssembly.instantiate(wasmBytes, imports);
wasm = result.instance.exports;
console.log('WASM initialized!');
// Initialize
if (wasm['__wbindgen_start']) {
wasm['__wbindgen_start']();
console.log('Called __wbindgen_start');
}
// Test get_signing_context
console.log('\n--- Testing get_signing_context ---');
const ret = wasm['get_signing_context']();
const signingContext = getStringFromWasm(ret[0], ret[1]);
wasm['__wbindgen_free'](ret[0], ret[1], 1);
console.log('Signing context:', signingContext);
if (signingContext === 'bizinikiwi') {
console.log('BIZINIKIWI CONTEXT CONFIRMED!');
} else {
console.log('WARNING: Expected "bizinikiwi" but got:', signingContext);
process.exit(1);
}
// Test sr25519_keypair_from_seed
console.log('\n--- Testing sr25519_keypair_from_seed ---');
const seed = new Uint8Array([
0x9d, 0x61, 0xb1, 0x9d, 0xef, 0xfd, 0x5a, 0x60,
0xba, 0x84, 0x4a, 0xf4, 0x92, 0xec, 0x2c, 0xc4,
0x44, 0x49, 0xc5, 0x69, 0x7b, 0x32, 0x69, 0x19,
0x70, 0x3b, 0xac, 0x03, 0x1c, 0xae, 0x7f, 0x60
]);
const ptr0 = passArray8ToWasm(seed, wasm['__wbindgen_malloc']);
const len0 = WASM_VECTOR_LEN;
const kpRet = wasm['sr25519_keypair_from_seed'](ptr0, len0);
if (kpRet[3]) {
console.log('ERROR: keypair generation failed');
console.log(takeFromExternrefTable(kpRet[2]));
process.exit(1);
}
const keypair = getArrayU8FromWasm(kpRet[0], kpRet[1]).slice();
wasm['__wbindgen_free'](kpRet[0], kpRet[1] * 1, 1);
const secretKey = keypair.slice(0, 64);
const publicKey = keypair.slice(64, 96);
console.log('Keypair length:', keypair.length);
console.log('Public key:', Buffer.from(publicKey).toString('hex'));
// Test sr25519_sign
console.log('\n--- Testing sr25519_sign ---');
const message = new TextEncoder().encode('test message');
const ptr1 = passArray8ToWasm(publicKey, wasm['__wbindgen_malloc']);
const len1 = WASM_VECTOR_LEN;
const ptr2 = passArray8ToWasm(secretKey, wasm['__wbindgen_malloc']);
const len2 = WASM_VECTOR_LEN;
const ptr3 = passArray8ToWasm(message, wasm['__wbindgen_malloc']);
const len3 = WASM_VECTOR_LEN;
const sigRet = wasm['sr25519_sign'](ptr1, len1, ptr2, len2, ptr3, len3);
if (sigRet[3]) {
console.log('ERROR: signing failed');
console.log(takeFromExternrefTable(sigRet[2]));
process.exit(1);
}
const signature = getArrayU8FromWasm(sigRet[0], sigRet[1]).slice();
wasm['__wbindgen_free'](sigRet[0], sigRet[1] * 1, 1);
console.log('Signature:', Buffer.from(signature).toString('hex').slice(0, 64) + '...');
console.log('Signature length:', signature.length);
// Test sr25519_verify
console.log('\n--- Testing sr25519_verify ---');
const vPtr0 = passArray8ToWasm(signature, wasm['__wbindgen_malloc']);
const vLen0 = WASM_VECTOR_LEN;
const vPtr1 = passArray8ToWasm(message, wasm['__wbindgen_malloc']);
const vLen1 = WASM_VECTOR_LEN;
const vPtr2 = passArray8ToWasm(publicKey, wasm['__wbindgen_malloc']);
const vLen2 = WASM_VECTOR_LEN;
const verified = wasm['sr25519_verify'](vPtr0, vLen0, vPtr1, vLen1, vPtr2, vLen2);
console.log('Verification result:', verified !== 0 ? 'SUCCESS' : 'FAILED');
if (verified !== 0) {
console.log('\n=========================================');
console.log('BIZINIKIWI WASM BYTES.JS VERIFIED!');
console.log('The npm package contains correct WASM');
console.log('=========================================');
} else {
process.exit(1);
}
} catch (error) {
console.error('Error:', error.message);
console.error(error.stack);
process.exit(1);
}
+18 -17
View File
@@ -333,7 +333,7 @@ __metadata:
languageName: node
linkType: hard
"@noble/hashes@npm:1.8.0, @noble/hashes@npm:~1.8.0":
"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.3.3, @noble/hashes@npm:~1.8.0":
version: 1.8.0
resolution: "@noble/hashes@npm:1.8.0"
checksum: 10/474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e
@@ -661,12 +661,12 @@ __metadata:
languageName: node
linkType: hard
"@pezkuwi/wasm-bridge@npm:7.5.9, @pezkuwi/wasm-bridge@workspace:packages/wasm-bridge":
"@pezkuwi/wasm-bridge@npm:7.5.13, @pezkuwi/wasm-bridge@workspace:packages/wasm-bridge":
version: 0.0.0-use.local
resolution: "@pezkuwi/wasm-bridge@workspace:packages/wasm-bridge"
dependencies:
"@pezkuwi/util": "npm:^14.0.1"
"@pezkuwi/wasm-util": "npm:7.5.9"
"@pezkuwi/wasm-util": "npm:7.5.13"
"@pezkuwi/x-randomvalues": "npm:^14.0.1"
tslib: "npm:^2.7.0"
peerDependencies:
@@ -675,7 +675,7 @@ __metadata:
languageName: unknown
linkType: soft
"@pezkuwi/wasm-crypto-asmjs@npm:7.5.9, @pezkuwi/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs":
"@pezkuwi/wasm-crypto-asmjs@npm:7.5.13, @pezkuwi/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs":
version: 0.0.0-use.local
resolution: "@pezkuwi/wasm-crypto-asmjs@workspace:packages/wasm-crypto-asmjs"
dependencies:
@@ -686,15 +686,15 @@ __metadata:
languageName: unknown
linkType: soft
"@pezkuwi/wasm-crypto-init@npm:7.5.9, @pezkuwi/wasm-crypto-init@workspace:packages/wasm-crypto-init":
"@pezkuwi/wasm-crypto-init@npm:7.5.13, @pezkuwi/wasm-crypto-init@workspace:packages/wasm-crypto-init":
version: 0.0.0-use.local
resolution: "@pezkuwi/wasm-crypto-init@workspace:packages/wasm-crypto-init"
dependencies:
"@pezkuwi/util": "npm:^14.0.1"
"@pezkuwi/wasm-bridge": "npm:7.5.9"
"@pezkuwi/wasm-crypto-asmjs": "npm:7.5.9"
"@pezkuwi/wasm-crypto-wasm": "npm:7.5.9"
"@pezkuwi/wasm-util": "npm:7.5.9"
"@pezkuwi/wasm-bridge": "npm:7.5.13"
"@pezkuwi/wasm-crypto-asmjs": "npm:7.5.13"
"@pezkuwi/wasm-crypto-wasm": "npm:7.5.14"
"@pezkuwi/wasm-util": "npm:7.5.13"
"@pezkuwi/x-randomvalues": "npm:^14.0.1"
tslib: "npm:^2.7.0"
peerDependencies:
@@ -703,12 +703,12 @@ __metadata:
languageName: unknown
linkType: soft
"@pezkuwi/wasm-crypto-wasm@npm:7.5.9, @pezkuwi/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm":
"@pezkuwi/wasm-crypto-wasm@npm:7.5.14, @pezkuwi/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm":
version: 0.0.0-use.local
resolution: "@pezkuwi/wasm-crypto-wasm@workspace:packages/wasm-crypto-wasm"
dependencies:
"@pezkuwi/util": "npm:^14.0.1"
"@pezkuwi/wasm-util": "npm:7.5.9"
"@pezkuwi/wasm-util": "npm:7.5.13"
tslib: "npm:^2.7.0"
peerDependencies:
"@pezkuwi/util": "*"
@@ -719,12 +719,13 @@ __metadata:
version: 0.0.0-use.local
resolution: "@pezkuwi/wasm-crypto@workspace:packages/wasm-crypto"
dependencies:
"@noble/hashes": "npm:^1.3.3"
"@pezkuwi/util": "npm:^14.0.1"
"@pezkuwi/wasm-bridge": "npm:7.5.9"
"@pezkuwi/wasm-crypto-asmjs": "npm:7.5.9"
"@pezkuwi/wasm-crypto-init": "npm:7.5.9"
"@pezkuwi/wasm-crypto-wasm": "npm:7.5.9"
"@pezkuwi/wasm-util": "npm:7.5.9"
"@pezkuwi/wasm-bridge": "npm:7.5.13"
"@pezkuwi/wasm-crypto-asmjs": "npm:7.5.13"
"@pezkuwi/wasm-crypto-init": "npm:7.5.13"
"@pezkuwi/wasm-crypto-wasm": "npm:7.5.14"
"@pezkuwi/wasm-util": "npm:7.5.13"
"@pezkuwi/x-randomvalues": "npm:^14.0.1"
tslib: "npm:^2.7.0"
peerDependencies:
@@ -733,7 +734,7 @@ __metadata:
languageName: unknown
linkType: soft
"@pezkuwi/wasm-util@npm:7.5.9, @pezkuwi/wasm-util@workspace:packages/wasm-util":
"@pezkuwi/wasm-util@npm:7.5.13, @pezkuwi/wasm-util@workspace:packages/wasm-util":
version: 0.0.0-use.local
resolution: "@pezkuwi/wasm-util@workspace:packages/wasm-util"
dependencies: