Skip to content

Commit 4ee9a4d

Browse files
committed
Added x-ethers compatible encrypted mnemonic to JSON wallets.
1 parent bb24fce commit 4ee9a4d

13 files changed

+125
-18
lines changed

tests/make-tests/make-wallets.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,15 @@ var privateKeys = {
3232
'0x4a9cf99357f5789251a8d7fad5b86d0f31eeb938': '0xa016182717223d01f776149ec0b4a217d0e9930cad263f205427c6d3cd5560e7',
3333
'0x88a5c2d9919e46f883eb62f7b8dd9d0cc45bc290': '0xf03e581353c794928373fb0893bc731aefc4c4e234e643f3a46998b03cd4d7c5',
3434
'0x17c5185167401ed00cf5f5b2fc97d9bbfdb7d025': '0x4242424242424242424242424242424242424242424242424242424242424242',
35+
'0x012363d61bdc53d0290a0f25e9c89f8257550fb8': '0x4c94faa2c558a998d10ee8b2b9b8eb1fbcb8a6ac5fd085c6f95535604fc1bffb',
36+
'0x15db397ed5f682acb22b0afc6c8de4cdfbda7cbc': '0xcdf3c34a2ea0ff181f462856168f5851e68c37b583eb158403e43aeab4964fee'
3537
}
3638

39+
var mnemonics = {
40+
'0x15db397ed5f682acb22b0afc6c8de4cdfbda7cbc': 'debris glass rich exotic window other film slow expose flight either wealth',
41+
'0x012363d61bdc53d0290a0f25e9c89f8257550fb8': 'service basket parent alcohol fault similar survey twelve hockey cloud walk panel'
42+
};
43+
3744
var walletPath = path.join(__dirname, 'test-wallets');
3845
fs.readdirSync(walletPath).forEach(function(filename) {
3946
var data = require(path.join(walletPath, filename));
@@ -44,8 +51,6 @@ fs.readdirSync(walletPath).forEach(function(filename) {
4451
var password = filename.substring(0, filename.length - 5).split('-');
4552
password = password[password.length - 1];
4653

47-
if (password === 'life') { password = 'foo'; }
48-
4954
if (data.ethaddr) {
5055
Output.push({
5156
type: 'crowdsale',
@@ -61,6 +66,7 @@ fs.readdirSync(walletPath).forEach(function(filename) {
6166
type: 'secret-storage',
6267
address: prefixAddress(data.address),
6368
json: JSON.stringify(data),
69+
mnemonic: mnemonics[prefixAddress(data.address)] || '',
6470
name: name,
6571
password: password,
6672
privateKey: privateKeys[prefixAddress(data.address)],
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"address":"012363d61bdc53d0290a0f25e9c89f8257550fb8","id":"5ba8719b-faf9-49ec-8bca-21522e3d56dc","version":3,"Crypto":{"cipher":"aes-128-ctr","cipherparams":{"iv":"bc0473d60284d2d6994bb6793e916d06"},"ciphertext":"e73ed0b0c53bcaea4516a15faba3f6d76dbe71b9b46a460ed7e04a68e0867dd7","kdf":"scrypt","kdfparams":{"salt":"97f0b6e17c392f76a726ceea02bac98f17265f1aa5cf8f9ad1c2b56025bc4714","n":131072,"dklen":32,"p":1,"r":8},"mac":"ff4f2db7e7588f8dd41374d7b98dfd7746b554c0099a6c0765be7b1c7913e1f3"},"x-ethers":{"client":"ethers.js","gethFilename":"UTC--2018-01-27T01-52-22.0Z--012363d61bdc53d0290a0f25e9c89f8257550fb8","mnemonicCounter":"70224accc00e35328a010a19fef51121","mnemonicCiphertext":"cf835e13e4f90b190052263dbd24b020","version":"0.1"}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"version":3,"id":"05D302EE-23DC-48C4-B89C-CAAAC1C780C4","x-ethers":{"gethFilename":"UTC--2018-01-26T20-25-02.0Z--15db397ed5f682acb22b0afc6c8de4cdfbda7cbc","mnemonicCiphertext":"b92c7c3da540ae7beee55365fb330c33","mnemonicCounter":"a65d689a73c096025f2acae3f7068510","client":"ethers/iOS","version":"0.1"},"Crypto":{"ciphertext":"fa6ff2374087a089ec9fcba3bc21389f5e26ec2932c95b608ebe0218efab83c6","cipherparams":{"iv":"5ddca45b254406516ca2c97d18d5dfd9"},"kdf":"scrypt","kdfparams":{"r":8,"p":1,"n":262144,"dklen":32,"salt":"864a474f8586ab0fa97ed9240ae6227b2b22b48bdf298137c355e4a07eb19831"},"mac":"eaa89325acedbf88c0893e53c8c8d426b590655746c66da9cd76e4f72d84084f","cipher":"aes-128-ctr"},"address":"15db397ed5f682acb22b0afc6c8de4cdfbda7cbc"}

tests/test-wallet.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ describe('Test JSON Wallets', function() {
4141
'generated correct private key - ' + wallet.privateKey);
4242
assert.equal(wallet.address.toLowerCase(), test.address,
4343
'generate correct address - ' + wallet.address);
44+
if (test.mnemonic) {
45+
assert.equal(wallet.mnemonic, test.mnemonic,
46+
'mnemonic enabled encrypted wallet has a mnemonic');
47+
}
4448
});
4549
});
4650
});

tests/tests/wallets.json.gz

914 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)