@typeberry/native 0.2.0-74dd7d7 → 0.2.0-e2a2c06
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.
- package/index.js +1 -2
- package/native-C3xbsznx.js +24 -0
- package/package.json +3 -3
- package/native-1jAaYM6m.js +0 -35
package/index.js
CHANGED
|
@@ -28,8 +28,7 @@ async function loadNativeBinding() {
|
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
30
|
try {
|
|
31
|
-
|
|
32
|
-
return native.default || native;
|
|
31
|
+
return (await import("./native-C3xbsznx.js")).loadNativeBinding();
|
|
33
32
|
} catch (e) {
|
|
34
33
|
nativeBindingError = `${e}`;
|
|
35
34
|
return null;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region bandersnatch/src/native.ts
|
|
2
|
+
async function loadNativeBinding() {
|
|
3
|
+
const { createRequire } = await import("module");
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const platform = process?.platform;
|
|
6
|
+
const arch = process?.arch;
|
|
7
|
+
let nativeBinding = null;
|
|
8
|
+
let loadError = null;
|
|
9
|
+
const platformArch = platform && arch ? {
|
|
10
|
+
darwin: { arm64: "@typeberry/bandersnatch-native-darwin-arm64" },
|
|
11
|
+
linux: { x64: "@typeberry/bandersnatch-native-linux-x64-gnu" }
|
|
12
|
+
}[platform]?.[arch] : void 0;
|
|
13
|
+
if (platformArch) try {
|
|
14
|
+
nativeBinding = require(platformArch);
|
|
15
|
+
} catch (e) {
|
|
16
|
+
loadError = e;
|
|
17
|
+
}
|
|
18
|
+
else loadError = /* @__PURE__ */ new Error(`Unsupported platform: ${platform}-${arch}`);
|
|
19
|
+
if (!nativeBinding) throw loadError || /* @__PURE__ */ new Error("Failed to load native binding");
|
|
20
|
+
return nativeBinding;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { loadNativeBinding };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typeberry/native",
|
|
3
|
-
"version": "0.2.0-
|
|
3
|
+
"version": "0.2.0-e2a2c06",
|
|
4
4
|
"description": "Native libraries for typeberry - bundles bandersnatch, ed25519 and reed-solomon with WASM and optional native bindings",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"node": ">=18"
|
|
24
24
|
},
|
|
25
25
|
"optionalDependencies": {
|
|
26
|
-
"@typeberry/bandersnatch-native-darwin-arm64": "0.2.0-
|
|
27
|
-
"@typeberry/bandersnatch-native-linux-x64-gnu": "0.2.0-
|
|
26
|
+
"@typeberry/bandersnatch-native-darwin-arm64": "0.2.0-e2a2c06",
|
|
27
|
+
"@typeberry/bandersnatch-native-linux-x64-gnu": "0.2.0-e2a2c06"
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"lint": "true",
|
package/native-1jAaYM6m.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { createRequire } from "module";
|
|
2
|
-
|
|
3
|
-
//#region bandersnatch/src/native.ts
|
|
4
|
-
const require = createRequire(import.meta.url);
|
|
5
|
-
function loadNativeBinding() {
|
|
6
|
-
const platform = process?.platform;
|
|
7
|
-
const arch = process?.arch;
|
|
8
|
-
let nativeBinding = null;
|
|
9
|
-
let loadError = null;
|
|
10
|
-
const platformArch = platform && arch ? {
|
|
11
|
-
darwin: { arm64: "@typeberry/bandersnatch-native-darwin-arm64" },
|
|
12
|
-
linux: { x64: "@typeberry/bandersnatch-native-linux-x64-gnu" }
|
|
13
|
-
}[platform]?.[arch] : void 0;
|
|
14
|
-
if (platformArch) try {
|
|
15
|
-
nativeBinding = require(platformArch);
|
|
16
|
-
} catch (e) {
|
|
17
|
-
loadError = e;
|
|
18
|
-
}
|
|
19
|
-
else loadError = /* @__PURE__ */ new Error(`Unsupported platform: ${platform}-${arch}`);
|
|
20
|
-
if (!nativeBinding) throw loadError || /* @__PURE__ */ new Error("Failed to load native binding");
|
|
21
|
-
return nativeBinding;
|
|
22
|
-
}
|
|
23
|
-
const binding = loadNativeBinding();
|
|
24
|
-
const ringCommitment = binding.ringCommitment;
|
|
25
|
-
const derivePublicKey = binding.derivePublicKey;
|
|
26
|
-
const verifyHeaderSeals = binding.verifyHeaderSeals;
|
|
27
|
-
const verifySeal = binding.verifySeal;
|
|
28
|
-
const generateSeal = binding.generateSeal;
|
|
29
|
-
const vrfOutputHash = binding.vrfOutputHash;
|
|
30
|
-
const batchGenerateRingVrf = binding.batchGenerateRingVrf;
|
|
31
|
-
const batchVerifyTickets = binding.batchVerifyTickets;
|
|
32
|
-
var native_default = binding;
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
export { batchGenerateRingVrf, batchVerifyTickets, native_default as default, derivePublicKey, generateSeal, ringCommitment, verifyHeaderSeals, verifySeal, vrfOutputHash };
|