Merge pull request #390 from matthewleon/bugfix/eth-xpub-derivation

Bugfix/eth xpub derivation
This commit is contained in:
iancoleman
2019-12-20 15:58:26 +11:00
committed by GitHub
2 changed files with 19 additions and 4 deletions

View File

@@ -1128,9 +1128,9 @@
}
// Ethereum values are different
if (networkIsEthereum()) {
var privKeyBuffer = keyPair.d.toBuffer(32);
privkey = privKeyBuffer.toString('hex');
var addressBuffer = libs.ethUtil.privateToAddress(privKeyBuffer);
var pubkeyBuffer = keyPair.getPublicKeyBuffer();
var ethPubkey = libs.ethUtil.importPublic(pubkeyBuffer);
var addressBuffer = libs.ethUtil.publicToAddress(ethPubkey);
var hexAddress = addressBuffer.toString('hex');
var checksumAddress = libs.ethUtil.toChecksumAddress(hexAddress);
address = libs.ethUtil.addHexPrefix(checksumAddress);

View File

@@ -595,7 +595,6 @@ it('Allows selection of ethereum', function(done) {
firstAddress: "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772",
};
testNetwork(done, params);
// TODO test private key and public key
});
it('Allows selection of slimcoin', function(done) {
var params = {
@@ -4341,4 +4340,20 @@ it('Generates addresses when seed is set', function(done) {
});
});
// https://github.com/iancoleman/bip39/issues/169
it('Generates ethereum addresses from a public key', function(done) {
var pubkey = "xpub68UK3hrMEp2jLPxPASgXSiqiUsQsUWZHCeuu6NqcJLt259LMeWzwDyufXLN1QmjLeLRY5he4QfArDDLbsXiw3xN3kFcYtyDy74BY73RPhhW";
driver.findElement(By.css('.root-key'))
.sendKeys(pubkey);
driver.findElement(By.css('#bip32-tab a'))
.click()
selectNetwork('ETH - Ethereum');
driver.sleep(generateDelay).then(function() {
getFirstAddress(function(address) {
expect(address).toBe("0x1Bd54748903438C7E386b4a3fCbe16237A316a98");
done();
});
});
});
});