aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/js/index.js6
-rw-r--r--tests/spec/tests.js17
2 files changed, 19 insertions, 4 deletions
diff --git a/src/js/index.js b/src/js/index.js
index d843ee1..92772f6 100644
--- a/src/js/index.js
+++ b/src/js/index.js
@@ -1128,9 +1128,9 @@
1128 } 1128 }
1129 // Ethereum values are different 1129 // Ethereum values are different
1130 if (networkIsEthereum()) { 1130 if (networkIsEthereum()) {
1131 var privKeyBuffer = keyPair.d.toBuffer(32); 1131 var pubkeyBuffer = keyPair.getPublicKeyBuffer();
1132 privkey = privKeyBuffer.toString('hex'); 1132 var ethPubkey = libs.ethUtil.importPublic(pubkeyBuffer);
1133 var addressBuffer = libs.ethUtil.privateToAddress(privKeyBuffer); 1133 var addressBuffer = libs.ethUtil.publicToAddress(ethPubkey);
1134 var hexAddress = addressBuffer.toString('hex'); 1134 var hexAddress = addressBuffer.toString('hex');
1135 var checksumAddress = libs.ethUtil.toChecksumAddress(hexAddress); 1135 var checksumAddress = libs.ethUtil.toChecksumAddress(hexAddress);
1136 address = libs.ethUtil.addHexPrefix(checksumAddress); 1136 address = libs.ethUtil.addHexPrefix(checksumAddress);
diff --git a/tests/spec/tests.js b/tests/spec/tests.js
index 7710b7a..0e85ecc 100644
--- a/tests/spec/tests.js
+++ b/tests/spec/tests.js
@@ -595,7 +595,6 @@ it('Allows selection of ethereum', function(done) {
595 firstAddress: "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772", 595 firstAddress: "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772",
596 }; 596 };
597 testNetwork(done, params); 597 testNetwork(done, params);
598 // TODO test private key and public key
599}); 598});
600it('Allows selection of slimcoin', function(done) { 599it('Allows selection of slimcoin', function(done) {
601 var params = { 600 var params = {
@@ -4341,4 +4340,20 @@ it('Generates addresses when seed is set', function(done) {
4341 }); 4340 });
4342}); 4341});
4343 4342
4343// https://github.com/iancoleman/bip39/issues/169
4344it('Generates ethereum addresses from a public key', function(done) {
4345 var pubkey = "xpub68UK3hrMEp2jLPxPASgXSiqiUsQsUWZHCeuu6NqcJLt259LMeWzwDyufXLN1QmjLeLRY5he4QfArDDLbsXiw3xN3kFcYtyDy74BY73RPhhW";
4346 driver.findElement(By.css('.root-key'))
4347 .sendKeys(pubkey);
4348 driver.findElement(By.css('#bip32-tab a'))
4349 .click()
4350 selectNetwork('ETH - Ethereum');
4351 driver.sleep(generateDelay).then(function() {
4352 getFirstAddress(function(address) {
4353 expect(address).toBe("0x1Bd54748903438C7E386b4a3fCbe16237A316a98");
4354 done();
4355 });
4356 });
4357});
4358
4344}); 4359});