Skip to content

Commit f46bf4e

Browse files
authored
Merge pull request #19 from makkii-dev/bugfix/swap-scrypt
Bugfix/swap scrypt
2 parents a58736d + d03cd12 commit f46bf4e

File tree

8 files changed

+1626
-811
lines changed

8 files changed

+1626
-811
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"assert": "^2.0.0",
5656
"babel-plugin-transform-remove-console": "^6.9.4",
5757
"cross-env": "^6.0.3",
58-
"documentation": "^12.1.4",
58+
"documentation": "^13.2.5",
5959
"eslint": "^6.6.0",
6060
"eslint-config-airbnb-base": "^14.0.0",
6161
"eslint-config-prettier": "^6.7.0",

packages/app-aion/__tests__/kestore_client.test.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ const client = new AionKeystoreClient();
99
const signer = new AionLocalSigner();
1010

1111
describe('AION Keystore Client function test', function () {
12+
this.timeout(60000);
13+
1214
it('Test generateMnemonic', function () {
1315
const mnemonic_ = client.generateMnemonic();
1416
assert.strictEqual(mnemonic_.split(' ').length, 12);
@@ -49,6 +51,14 @@ describe('AION Keystore Client function test', function () {
4951
const {address} = await client.recoverKeyPairByKeyFile(content, 'password');
5052
assert.strictEqual(address, '0xa05ed4fcb3fd1c2b8d65f7a9cbff0e280e53b40e6399f9887c3e28b37b5d09bf');
5153
})
54+
55+
it('Test recover recently generated keyfile', async () => {
56+
this.timeout(20000);
57+
const content = fs.readFileSync(path.resolve(__dirname, './UTC--2021-07-05T19_41_44.749Z--a02a36c79c6300b1ccac19bc5f1a60feb6f8510e657fac927b9ecadf0b0f3c3d'));
58+
const {address} = await client.recoverKeyPairByKeyFile(content, 'password');
59+
assert.strictEqual(address, '0xa02a36c79c6300b1ccac19bc5f1a60feb6f8510e657fac927b9ecadf0b0f3c3d');
60+
});
61+
5262
it('Test sign Transaction', async function(){
5363
const unsignedTx = {
5464
to:'0xa03c27530d83ad581bf73627a8aa65a698a3bf70d65152d13aed5afd26b119ef',

packages/app-aion/lib/lib_keystore/keyfile.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/app-aion/lib/lib_keystore/keyfile.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/app-aion/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
"crypto-browserify": "^3.12.0",
4141
"lib-common-util-js": "https://github.com/chaion/lib-common-util-js.git#7c64a4fd9b96b4c4d25b26de47e290eef10cc92e",
4242
"lib-hw-ledger-js": "https://github.com/chaion/lib-hw-ledger-js.git#e6f6a1d82b7ceb74fc1517f69f7ad2f612befd8a",
43-
"scrypt.js": "^0.3.0",
44-
"tweetnacl": "^1.0.1"
43+
"tweetnacl": "^1.0.1",
44+
"scrypt-js": "^3.0.1"
4545
},
4646
"publishConfig": {
4747
"access": "public"

packages/app-aion/src/lib_keystore/keyfile.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { hexutil } from "lib-common-util-js";
2+
import { syncScrypt } from "scrypt-js";
23
import { ab2str, crypto } from "../utils";
34
import { keyPair } from "./keyPair";
45

56
const RLP = require("aion-rlp");
6-
const scrypt = require("scrypt.js");
77
const blake2b = require("blake2b");
88

99
const fromV3 = (input, password) =>
@@ -37,7 +37,7 @@ const fromV3 = (input, password) =>
3737
Keystore.crypto.kdfParams.p = hexutil.toHex(KdfParams[3]); // 14
3838
Keystore.crypto.kdfParams.r = hexutil.toHex(KdfParams[4]); // 15
3939
Keystore.crypto.kdfParams.salt = ab2str(KdfParams[5]); // 16
40-
derivedKey = scrypt(
40+
derivedKey = syncScrypt(
4141
Buffer.from(password),
4242
Buffer.from(Keystore.crypto.kdfParams.salt, "hex"),
4343
parseInt(Keystore.crypto.kdfParams.n, 16),
@@ -107,7 +107,7 @@ function toV3(privateKey, password) {
107107
cipherparams[0] = tempParams.toString("hex");
108108
const Cipherparams = RLP.encode(cipherparams);
109109

110-
const derivedKey = scrypt(
110+
const derivedKey = syncScrypt(
111111
Buffer.from(password),
112112
Buffer.from(salt, "hex"),
113113
n,

0 commit comments

Comments
 (0)