1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.scryptFromU8a = void 0;
|
4 | const util_1 = require("@polkadot/util");
|
5 | const bn_js_1 = require("../bn.js");
|
6 | const defaults_js_1 = require("./defaults.js");
|
7 | function scryptFromU8a(data) {
|
8 | const salt = data.subarray(0, 32);
|
9 | const N = (0, util_1.u8aToBn)(data.subarray(32 + 0, 32 + 4), bn_js_1.BN_LE_OPTS).toNumber();
|
10 | const p = (0, util_1.u8aToBn)(data.subarray(32 + 4, 32 + 8), bn_js_1.BN_LE_OPTS).toNumber();
|
11 | const r = (0, util_1.u8aToBn)(data.subarray(32 + 8, 32 + 12), bn_js_1.BN_LE_OPTS).toNumber();
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 | if (N !== defaults_js_1.DEFAULT_PARAMS.N || p !== defaults_js_1.DEFAULT_PARAMS.p || r !== defaults_js_1.DEFAULT_PARAMS.r) {
|
18 | throw new Error('Invalid injected scrypt params found');
|
19 | }
|
20 | return { params: { N, p, r }, salt };
|
21 | }
|
22 | exports.scryptFromU8a = scryptFromU8a;
|