laconic-wallet/patches/@ethersproject+pbkdf2+5.7.0.patch
Adwait Gharpure 921327850b
Patch ethers to reduce wallet creation time (#24)
* Patch @ethersproject/pbkdf2 to improve wallet creation time

* Remove line

* Add line to prevent failure

* Remove line

---------

Co-authored-by: Adw8 <adwait@deepstacksoft.com>
2024-02-19 14:04:06 +05:30

109 lines
4.2 KiB
Diff

diff --git a/node_modules/@ethersproject/pbkdf2/lib.esm/pbkdf2.js b/node_modules/@ethersproject/pbkdf2/lib.esm/pbkdf2.js
index e211793..a33e7e0 100644
--- a/node_modules/@ethersproject/pbkdf2/lib.esm/pbkdf2.js
+++ b/node_modules/@ethersproject/pbkdf2/lib.esm/pbkdf2.js
@@ -1,44 +1,4 @@
"use strict";
-import { arrayify, hexlify } from "@ethersproject/bytes";
-import { computeHmac } from "@ethersproject/sha2";
-export function pbkdf2(password, salt, iterations, keylen, hashAlgorithm) {
- password = arrayify(password);
- salt = arrayify(salt);
- let hLen;
- let l = 1;
- const DK = new Uint8Array(keylen);
- const block1 = new Uint8Array(salt.length + 4);
- block1.set(salt);
- //salt.copy(block1, 0, 0, salt.length)
- let r;
- let T;
- for (let i = 1; i <= l; i++) {
- //block1.writeUInt32BE(i, salt.length)
- block1[salt.length] = (i >> 24) & 0xff;
- block1[salt.length + 1] = (i >> 16) & 0xff;
- block1[salt.length + 2] = (i >> 8) & 0xff;
- block1[salt.length + 3] = i & 0xff;
- //let U = createHmac(password).update(block1).digest();
- let U = arrayify(computeHmac(hashAlgorithm, password, block1));
- if (!hLen) {
- hLen = U.length;
- T = new Uint8Array(hLen);
- l = Math.ceil(keylen / hLen);
- r = keylen - (l - 1) * hLen;
- }
- //U.copy(T, 0, 0, hLen)
- T.set(U);
- for (let j = 1; j < iterations; j++) {
- //U = createHmac(password).update(U).digest();
- U = arrayify(computeHmac(hashAlgorithm, password, U));
- for (let k = 0; k < hLen; k++)
- T[k] ^= U[k];
- }
- const destPos = (i - 1) * hLen;
- const len = (i === l ? r : hLen);
- //T.copy(DK, destPos, 0, len)
- DK.set(arrayify(T).slice(0, len), destPos);
- }
- return hexlify(DK);
-}
+var crypto = require("crypto");
+exports.pbkdf2 = crypto.pbkdf2Sy
//# sourceMappingURL=pbkdf2.js.map
\ No newline at end of file
diff --git a/node_modules/@ethersproject/pbkdf2/lib/browser-pbkdf2.js b/node_modules/@ethersproject/pbkdf2/lib/browser-pbkdf2.js
index 45c6f03..cb8c731 100644
--- a/node_modules/@ethersproject/pbkdf2/lib/browser-pbkdf2.js
+++ b/node_modules/@ethersproject/pbkdf2/lib/browser-pbkdf2.js
@@ -1,47 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pbkdf2 = void 0;
-var bytes_1 = require("@ethersproject/bytes");
-var sha2_1 = require("@ethersproject/sha2");
-function pbkdf2(password, salt, iterations, keylen, hashAlgorithm) {
- password = (0, bytes_1.arrayify)(password);
- salt = (0, bytes_1.arrayify)(salt);
- var hLen;
- var l = 1;
- var DK = new Uint8Array(keylen);
- var block1 = new Uint8Array(salt.length + 4);
- block1.set(salt);
- //salt.copy(block1, 0, 0, salt.length)
- var r;
- var T;
- for (var i = 1; i <= l; i++) {
- //block1.writeUInt32BE(i, salt.length)
- block1[salt.length] = (i >> 24) & 0xff;
- block1[salt.length + 1] = (i >> 16) & 0xff;
- block1[salt.length + 2] = (i >> 8) & 0xff;
- block1[salt.length + 3] = i & 0xff;
- //let U = createHmac(password).update(block1).digest();
- var U = (0, bytes_1.arrayify)((0, sha2_1.computeHmac)(hashAlgorithm, password, block1));
- if (!hLen) {
- hLen = U.length;
- T = new Uint8Array(hLen);
- l = Math.ceil(keylen / hLen);
- r = keylen - (l - 1) * hLen;
- }
- //U.copy(T, 0, 0, hLen)
- T.set(U);
- for (var j = 1; j < iterations; j++) {
- //U = createHmac(password).update(U).digest();
- U = (0, bytes_1.arrayify)((0, sha2_1.computeHmac)(hashAlgorithm, password, U));
- for (var k = 0; k < hLen; k++)
- T[k] ^= U[k];
- }
- var destPos = (i - 1) * hLen;
- var len = (i === l ? r : hLen);
- //T.copy(DK, destPos, 0, len)
- DK.set((0, bytes_1.arrayify)(T).slice(0, len), destPos);
- }
- return (0, bytes_1.hexlify)(DK);
-}
-exports.pbkdf2 = pbkdf2;
+
+var crypto = require("crypto");
+exports.pbkdf2 = crypto.pbkdf2Sync;
//# sourceMappingURL=browser-pbkdf2.js.map
\ No newline at end of file