@shapeshiftoss/hdwallet-native-vault 1.52.11 → 1.52.13
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/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/rawVault.d.ts.map +1 -1
- package/dist/rawVault.js +3 -6
- package/dist/rawVault.js.map +1 -1
- package/package.json +3 -3
- package/dist/argonBenchmark.d.ts +0 -44
- package/dist/argonBenchmark.d.ts.map +0 -1
- package/dist/argonBenchmark.js +0 -161
- package/dist/argonBenchmark.js.map +0 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,11 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Vault = exports.GENERATE_MNEMONIC =
|
|
12
|
+
exports.Vault = exports.GENERATE_MNEMONIC = void 0;
|
|
13
13
|
const util_1 = require("./util");
|
|
14
14
|
const vault_1 = require("./vault");
|
|
15
|
-
var argonBenchmark_1 = require("./argonBenchmark");
|
|
16
|
-
Object.defineProperty(exports, "argonBenchmark", { enumerable: true, get: function () { return argonBenchmark_1.argonBenchmark; } });
|
|
17
15
|
var util_2 = require("./util");
|
|
18
16
|
Object.defineProperty(exports, "GENERATE_MNEMONIC", { enumerable: true, get: function () { return util_2.GENERATE_MNEMONIC; } });
|
|
19
17
|
var vault_2 = require("./vault");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsF;AACtF,mCAAgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsF;AACtF,mCAAgC;AAGhC,+BAA2C;AAAlC,yGAAA,iBAAiB,OAAA;AAC1B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,aAAK,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAO,CAAU,EAAE,EAAE;IAC/D,IAAI,CAAC,KAAK,wBAAiB;QAAE,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,aAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAA,CAAC,CAAC;AACH,aAAK,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAO,CAAU,EAAE,UAAwC,EAAE,EAAE;IACrG,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAc,EAAC,CAAC,CAAC,CAAC;IACpC,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,MAAM,mDAAI,CAAA,EAAA,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC,CAAC;AACH,aAAK,CAAC,6BAA6B,EAAE,CAAC"}
|
package/dist/rawVault.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rawVault.d.ts","sourceRoot":"","sources":["../src/rawVault.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rawVault.d.ts","sourceRoot":"","sources":["../src/rawVault.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAiB,kBAAkB,EAAE,MAAM,SAAS,CAAC;;;;;;;;;AAezF,qBAAa,QAAS,SAAQ,aAAmC,YAAW,cAAc,CAAC,UAAU,CAAC;;IAEpG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAEtD;WAaW,OAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB;WA8GnC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM;WAIxB,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;WAiCnC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;WAQzB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;WAW3D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAIhD,SAAS,aAAa,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;IAM7D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlE,IAAI,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAehE"}
|
package/dist/rawVault.js
CHANGED
|
@@ -51,7 +51,6 @@ const idb = __importStar(require("idb-keyval"));
|
|
|
51
51
|
const jose = __importStar(require("jose"));
|
|
52
52
|
const ta = __importStar(require("type-assertions"));
|
|
53
53
|
const uuid = __importStar(require("uuid"));
|
|
54
|
-
const argonBenchmark_1 = require("./argonBenchmark");
|
|
55
54
|
const util_1 = require("./util");
|
|
56
55
|
// This has to be outside the class so the static initializers for defaultArgonParams and #machineSeed can reference it.
|
|
57
56
|
let resolvers = {};
|
|
@@ -83,15 +82,13 @@ class RawVault extends (0, util_1.Revocable)(Object.freeze(class {
|
|
|
83
82
|
(_k = currentResolvers.defaultArgonParams) === null || _k === void 0 ? void 0 : _k.call(currentResolvers, (_l = (yield idb.get("defaultArgonParams", yield __classPrivateFieldGet(_a, _a, "f", _RawVault_keyStore)))) !== null && _l !== void 0 ? _l : {
|
|
84
83
|
then: (onfulfilled, onrejected) => {
|
|
85
84
|
return (() => __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
// For more details on parameter selection, see:
|
|
86
|
+
// https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-argon2-04#section-4
|
|
86
87
|
const out = {
|
|
87
88
|
parallelism: 1,
|
|
88
89
|
memorySize: 32 * 1024,
|
|
89
|
-
iterations:
|
|
90
|
+
iterations: 16,
|
|
90
91
|
};
|
|
91
|
-
const argonBenchmarkResults = yield (0, argonBenchmark_1.argonBenchmark)(out.memorySize, 1000, { measureError: true });
|
|
92
|
-
console.debug("argonBenchmarkResults:", argonBenchmarkResults);
|
|
93
|
-
yield idb.set("argonBenchmarkResults", argonBenchmarkResults, yield __classPrivateFieldGet(_a, _a, "f", _RawVault_keyStore));
|
|
94
|
-
out.iterations = argonBenchmarkResults.iterations;
|
|
95
92
|
yield idb.set("defaultArgonParams", out, yield __classPrivateFieldGet(_a, _a, "f", _RawVault_keyStore));
|
|
96
93
|
return out;
|
|
97
94
|
}))().then(onfulfilled, onrejected);
|
package/dist/rawVault.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rawVault.js","sourceRoot":"","sources":["../src/rawVault.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAqD;AACrD,yCAAqC;AACrC,gDAAkC;AAClC,2CAA6B;AAC7B,oDAAsC;AACtC,2CAA6B;
|
|
1
|
+
{"version":3,"file":"rawVault.js","sourceRoot":"","sources":["../src/rawVault.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapeshiftoss/hdwallet-native-vault",
|
|
3
|
-
"version": "1.52.
|
|
3
|
+
"version": "1.52.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"prepublishOnly": "yarn clean && yarn build"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@shapeshiftoss/hdwallet-native": "1.52.
|
|
17
|
+
"@shapeshiftoss/hdwallet-native": "1.52.13",
|
|
18
18
|
"bip39": "^3.0.4",
|
|
19
19
|
"hash-wasm": "^4.9.0",
|
|
20
20
|
"idb-keyval": "^6.0.3",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"@types/tiny-secp256k1": "^1.0.0",
|
|
29
29
|
"fake-indexeddb": "^3.1.7"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "a820a1f3aa28b8df21df149f27808291ac73f051"
|
|
32
32
|
}
|
package/dist/argonBenchmark.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export declare function customNow(now: () => number, roundMs: number, jitter: number): () => number;
|
|
2
|
-
/**
|
|
3
|
-
* This function benchmarks the current machine to determine how many iterations of single-theaded argon2id can be afforded in a given time budget.
|
|
4
|
-
* The time budget is considered to include only the time spent actually iterating; setup time is proportional to the memory allocation and excluded,
|
|
5
|
-
* though it usually only is a few tens of milliseconds extra.
|
|
6
|
-
*
|
|
7
|
-
* Benchmarks in Node and the browser show that the error in the final value is typically less than 5%, with
|
|
8
|
-
* @param memorySizeKib The amount of memory used by argon2id; must be at least 8. A higher value provides more defense against ASIC and GPU attacks
|
|
9
|
-
* @param targetTimeMs Desired duration of the key derivation operation
|
|
10
|
-
* @param options Optional parameters primarily useful for testing the benchmark implementation
|
|
11
|
-
* @param options.fineTuning Number of fine-tuning rounds permitted; defaults to 0. Allowing more fine-tuning rounds reduces error.
|
|
12
|
-
* @param options.measureError Calculate the error of the final result by measuring the precise time the recommended number of iterations takes.
|
|
13
|
-
* @param options.now Overrides the timestamp function used to measure durations. Must return a monotonically-increasing number of milliseconds.
|
|
14
|
-
* @param options.roundMs Rounds timestamps to simulate results when a browser rounds performance.now() to prevent fingerprinting.
|
|
15
|
-
* @param options.jitter Introduces random timestamp errors of the specified magnitude. Range 0-1, default 0.
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
export declare function argonBenchmark(memorySizeKib: number, targetTimeMs: number, options?: Partial<{
|
|
19
|
-
fineTuning: number;
|
|
20
|
-
measureError: boolean;
|
|
21
|
-
now: () => number;
|
|
22
|
-
roundMs: number;
|
|
23
|
-
jitter: number;
|
|
24
|
-
}>): Promise<{
|
|
25
|
-
iterations: number;
|
|
26
|
-
bits: number;
|
|
27
|
-
error: number | undefined;
|
|
28
|
-
durations: {
|
|
29
|
-
warmup: number;
|
|
30
|
-
setup: number;
|
|
31
|
-
overall: number;
|
|
32
|
-
msPerIteration: number;
|
|
33
|
-
};
|
|
34
|
-
options: {
|
|
35
|
-
memorySizeKib: number;
|
|
36
|
-
targetTimeMs: number;
|
|
37
|
-
now: undefined;
|
|
38
|
-
fineTuning?: number | undefined;
|
|
39
|
-
measureError?: boolean | undefined;
|
|
40
|
-
roundMs?: number | undefined;
|
|
41
|
-
jitter?: number | undefined;
|
|
42
|
-
};
|
|
43
|
-
}>;
|
|
44
|
-
//# sourceMappingURL=argonBenchmark.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"argonBenchmark.d.ts","sourceRoot":"","sources":["../src/argonBenchmark.ts"],"names":[],"mappings":"AAoBA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,MAAM,CAuB1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAM;;;;;;;;;;;;;;;;;;;GAiGR"}
|
package/dist/argonBenchmark.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.argonBenchmark = exports.customNow = void 0;
|
|
13
|
-
const hash_wasm_1 = require("hash-wasm");
|
|
14
|
-
const util_1 = require("./util");
|
|
15
|
-
function argonBenchInner(memorySize, iterations, now) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const password = yield (yield util_1.crypto).getRandomValues(new Uint8Array(32));
|
|
18
|
-
const salt = yield (yield util_1.crypto).getRandomValues(new Uint8Array(32));
|
|
19
|
-
const start = now();
|
|
20
|
-
yield (0, hash_wasm_1.argon2id)({
|
|
21
|
-
password,
|
|
22
|
-
salt,
|
|
23
|
-
parallelism: 1,
|
|
24
|
-
memorySize,
|
|
25
|
-
iterations,
|
|
26
|
-
hashLength: 32,
|
|
27
|
-
outputType: "binary",
|
|
28
|
-
});
|
|
29
|
-
return now() - start;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
function customNow(now, roundMs, jitter) {
|
|
33
|
-
if (jitter) {
|
|
34
|
-
let lastRealNow = 0;
|
|
35
|
-
now = ((thisNow) => () => {
|
|
36
|
-
const realNow = thisNow();
|
|
37
|
-
const nextNow = lastRealNow === 0
|
|
38
|
-
? realNow
|
|
39
|
-
: (() => {
|
|
40
|
-
const elapsed = (realNow - lastRealNow) * (1 + (Math.random() - 0.5) * jitter);
|
|
41
|
-
return lastRealNow + elapsed;
|
|
42
|
-
})();
|
|
43
|
-
lastRealNow = realNow;
|
|
44
|
-
return nextNow;
|
|
45
|
-
})(now);
|
|
46
|
-
}
|
|
47
|
-
if (roundMs) {
|
|
48
|
-
now = ((thisNow) => () => Math.round(thisNow() / roundMs) * roundMs)(now);
|
|
49
|
-
}
|
|
50
|
-
return now;
|
|
51
|
-
}
|
|
52
|
-
exports.customNow = customNow;
|
|
53
|
-
/**
|
|
54
|
-
* This function benchmarks the current machine to determine how many iterations of single-theaded argon2id can be afforded in a given time budget.
|
|
55
|
-
* The time budget is considered to include only the time spent actually iterating; setup time is proportional to the memory allocation and excluded,
|
|
56
|
-
* though it usually only is a few tens of milliseconds extra.
|
|
57
|
-
*
|
|
58
|
-
* Benchmarks in Node and the browser show that the error in the final value is typically less than 5%, with
|
|
59
|
-
* @param memorySizeKib The amount of memory used by argon2id; must be at least 8. A higher value provides more defense against ASIC and GPU attacks
|
|
60
|
-
* @param targetTimeMs Desired duration of the key derivation operation
|
|
61
|
-
* @param options Optional parameters primarily useful for testing the benchmark implementation
|
|
62
|
-
* @param options.fineTuning Number of fine-tuning rounds permitted; defaults to 0. Allowing more fine-tuning rounds reduces error.
|
|
63
|
-
* @param options.measureError Calculate the error of the final result by measuring the precise time the recommended number of iterations takes.
|
|
64
|
-
* @param options.now Overrides the timestamp function used to measure durations. Must return a monotonically-increasing number of milliseconds.
|
|
65
|
-
* @param options.roundMs Rounds timestamps to simulate results when a browser rounds performance.now() to prevent fingerprinting.
|
|
66
|
-
* @param options.jitter Introduces random timestamp errors of the specified magnitude. Range 0-1, default 0.
|
|
67
|
-
* @returns
|
|
68
|
-
*/
|
|
69
|
-
function argonBenchmark(memorySizeKib, targetTimeMs, options = {}) {
|
|
70
|
-
var _a, _b, _c, _d, _e;
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
const preciseNow = (_a = options.now) !== null && _a !== void 0 ? _a : (yield util_1.performance).now.bind(yield util_1.performance);
|
|
73
|
-
const overallStart = preciseNow();
|
|
74
|
-
let fineTuning = (_b = options.fineTuning) !== null && _b !== void 0 ? _b : 0;
|
|
75
|
-
const measureError = (_c = options.measureError) !== null && _c !== void 0 ? _c : false;
|
|
76
|
-
const roundedNow = customNow(preciseNow, (_d = options.roundMs) !== null && _d !== void 0 ? _d : 0, (_e = options.jitter) !== null && _e !== void 0 ? _e : 0);
|
|
77
|
-
// warm-up wasm module with the minimum-possible parameter values to ensure the module is actually loaded; should take
|
|
78
|
-
// no more than 100ms in the absolute worst case
|
|
79
|
-
const warmupDuration = yield argonBenchInner(8, 1, roundedNow);
|
|
80
|
-
// Calculate the minimum time a single iteration of the shortest kind takes; this is later used to calculate the bits
|
|
81
|
-
// of added security. The low memory use ensures that the setup time is negligible.
|
|
82
|
-
const minMsPerIter = yield (() => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
let minDuration = 0;
|
|
84
|
-
let out = 0;
|
|
85
|
-
for (let i = 1; minDuration === 0; i *= 2) {
|
|
86
|
-
minDuration = yield argonBenchInner(8, 1, roundedNow);
|
|
87
|
-
out = minDuration / i;
|
|
88
|
-
}
|
|
89
|
-
return out;
|
|
90
|
-
}))();
|
|
91
|
-
let firstDuration = 0;
|
|
92
|
-
let firstI = 0;
|
|
93
|
-
let duration = 0;
|
|
94
|
-
let msPerIteration = 0;
|
|
95
|
-
let setupDuration = 0;
|
|
96
|
-
let i = 0.5; // after the initial i *= 2, this will always be an integer
|
|
97
|
-
while (duration < targetTimeMs + setupDuration) {
|
|
98
|
-
if (msPerIteration === 0) {
|
|
99
|
-
// This ensures that a non-increasing performance.now() implementation won't loop infinitely
|
|
100
|
-
if (i * memorySizeKib > 2 ** 20)
|
|
101
|
-
break;
|
|
102
|
-
// This happen on the first loop, but also can happen with rounded timestamps
|
|
103
|
-
i *= 2;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
const iStep = Math.round((targetTimeMs + setupDuration - duration) / msPerIteration);
|
|
107
|
-
// We don't need fine-tuning if we're dead on
|
|
108
|
-
if (iStep == 0)
|
|
109
|
-
break;
|
|
110
|
-
// Ensuring each step is at least i large sacrifices accuracy, but limits the benchmark time to no more than 4
|
|
111
|
-
// times the target duration. Additional fine-tuning steps can increase accuracy, but each one adds a possible
|
|
112
|
-
// 2 * targetTimeMs to the worst-case.
|
|
113
|
-
if (Math.abs(iStep) < 0) {
|
|
114
|
-
if (fineTuning <= 0)
|
|
115
|
-
break;
|
|
116
|
-
fineTuning--;
|
|
117
|
-
}
|
|
118
|
-
i = i + iStep;
|
|
119
|
-
}
|
|
120
|
-
duration = yield argonBenchInner(memorySizeKib, i, roundedNow);
|
|
121
|
-
msPerIteration = (duration - setupDuration) / i;
|
|
122
|
-
// We want the the duration of the first *measurable* run (i.e. duration > 0). (Duration can be 0 if timestamps are
|
|
123
|
-
// rounded.)
|
|
124
|
-
if (!firstDuration) {
|
|
125
|
-
firstDuration = duration;
|
|
126
|
-
firstI = i;
|
|
127
|
-
}
|
|
128
|
-
// As we test higher iteration counts, we get a more accurate msPerIteration calculation, leading to
|
|
129
|
-
setupDuration = Math.max(0, firstDuration - msPerIteration * firstI);
|
|
130
|
-
}
|
|
131
|
-
if (msPerIteration === 0)
|
|
132
|
-
throw new Error("benchmark runs look instantaneous -- is performance.now() working?");
|
|
133
|
-
// Allow no more than i/2 to be shaved off the final time; this limits the damage a significantly outlying final
|
|
134
|
-
// benchmark run can do
|
|
135
|
-
i -= Math.min((duration - (targetTimeMs + setupDuration)) / msPerIteration, i / 2);
|
|
136
|
-
i = Math.ceil(i);
|
|
137
|
-
let error = undefined;
|
|
138
|
-
if (measureError) {
|
|
139
|
-
// bench with recommended iterations to determine precise error; this will obviously take extra time
|
|
140
|
-
const finalDuration = yield argonBenchInner(memorySizeKib, i, preciseNow);
|
|
141
|
-
error = Math.abs(finalDuration - (targetTimeMs + setupDuration)) / (targetTimeMs + setupDuration);
|
|
142
|
-
}
|
|
143
|
-
const bits = Math.log2((i * msPerIteration - setupDuration) / minMsPerIter);
|
|
144
|
-
const overallDuration = preciseNow() - overallStart;
|
|
145
|
-
return {
|
|
146
|
-
iterations: i,
|
|
147
|
-
bits,
|
|
148
|
-
error,
|
|
149
|
-
durations: {
|
|
150
|
-
warmup: warmupDuration,
|
|
151
|
-
setup: setupDuration,
|
|
152
|
-
overall: overallDuration,
|
|
153
|
-
msPerIteration,
|
|
154
|
-
},
|
|
155
|
-
options: Object.assign(Object.assign({}, Object.assign(Object.assign({}, options), { now: undefined })), { memorySizeKib,
|
|
156
|
-
targetTimeMs }),
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
exports.argonBenchmark = argonBenchmark;
|
|
161
|
-
//# sourceMappingURL=argonBenchmark.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"argonBenchmark.js","sourceRoot":"","sources":["../src/argonBenchmark.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAqC;AAErC,iCAA6C;AAE7C,SAAe,eAAe,CAAC,UAAkB,EAAE,UAAkB,EAAE,GAAiB;;QACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,aAAM,CAAC,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,aAAM,CAAC,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;QACpB,MAAM,IAAA,oBAAQ,EAAC;YACb,QAAQ;YACR,IAAI;YACJ,WAAW,EAAE,CAAC;YACd,UAAU;YACV,UAAU;YACV,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;IACvB,CAAC;CAAA;AAED,SAAgB,SAAS,CAAC,GAAiB,EAAE,OAAe,EAAE,MAAc;IAC1E,IAAI,MAAM,EAAE;QACV,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE;YACvB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GACX,WAAW,KAAK,CAAC;gBACf,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,CAAC,GAAG,EAAE;oBACJ,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBAC/E,OAAO,WAAW,GAAG,OAAO,CAAC;gBAC/B,CAAC,CAAC,EAAE,CAAC;YACX,WAAW,GAAG,OAAO,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACT;IACD,IAAI,OAAO,EAAE;QACX,GAAG,GAAG,CACJ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAChB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO,CAC5C,CAAC,GAAG,CAAC,CAAC;KACR;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAvBD,8BAuBC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAsB,cAAc,CAClC,aAAqB,EACrB,YAAoB,EACpB,UAMK,EAAE;;;QAEP,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,GAAG,mCAAI,CAAC,MAAM,kBAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,kBAAW,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAElC,IAAI,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,KAAK,CAAC;QACnD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAC;QAEpF,sHAAsH;QACtH,gDAAgD;QAChD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/D,qHAAqH;QACrH,mFAAmF;QACnF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAS,EAAE;YACrC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBACzC,WAAW,GAAG,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBACtD,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;aACvB;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAA,CAAC,EAAE,CAAC;QAEL,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,2DAA2D;QACxE,OAAO,QAAQ,GAAG,YAAY,GAAG,aAAa,EAAE;YAC9C,IAAI,cAAc,KAAK,CAAC,EAAE;gBACxB,4FAA4F;gBAC5F,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,IAAI,EAAE;oBAAE,MAAM;gBACvC,6EAA6E;gBAC7E,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC,GAAG,cAAc,CAAC,CAAC;gBACrF,6CAA6C;gBAC7C,IAAI,KAAK,IAAI,CAAC;oBAAE,MAAM;gBACtB,8GAA8G;gBAC9G,8GAA8G;gBAC9G,sCAAsC;gBACtC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACvB,IAAI,UAAU,IAAI,CAAC;wBAAE,MAAM;oBAC3B,UAAU,EAAE,CAAC;iBACd;gBACD,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACf;YAED,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YAC/D,cAAc,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChD,mHAAmH;YACnH,YAAY;YACZ,IAAI,CAAC,aAAa,EAAE;gBAClB,aAAa,GAAG,QAAQ,CAAC;gBACzB,MAAM,GAAG,CAAC,CAAC;aACZ;YACD,oGAAoG;YACpG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC,CAAC;SACtE;QACD,IAAI,cAAc,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAEhH,gHAAgH;QAChH,uBAAuB;QACvB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,KAAK,GAAuB,SAAS,CAAC;QAC1C,IAAI,YAAY,EAAE;YAChB,oGAAoG;YACpG,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YAC1E,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;SACnG;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC;QACpD,OAAO;YACL,UAAU,EAAE,CAAC;YACb,IAAI;YACJ,KAAK;YACL,SAAS,EAAE;gBACT,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,eAAe;gBACxB,cAAc;aACf;YACD,OAAO,kEAEA,OAAO,KACV,GAAG,EAAE,SAAS,QAEhB,aAAa;gBACb,YAAY,GACb;SACF,CAAC;;CACH;AA1GD,wCA0GC"}
|