Ethereum addresses include checksum

This commit is contained in:
Ian Coleman
2017-02-15 19:45:03 +11:00
parent 8b095871e8
commit 49b21f122a
3 changed files with 8 additions and 4 deletions
+3 -1
View File
@@ -41770,7 +41770,9 @@ window.Entropy = new (function() {
var privKeyBuffer = key.privKey.d.toBuffer(); var privKeyBuffer = key.privKey.d.toBuffer();
privkey = privKeyBuffer.toString('hex'); privkey = privKeyBuffer.toString('hex');
var addressBuffer = ethUtil.privateToAddress(privKeyBuffer); var addressBuffer = ethUtil.privateToAddress(privKeyBuffer);
address = "0x" + addressBuffer.toString('hex'); var hexAddress = addressBuffer.toString('hex');
var checksumAddress = ethUtil.toChecksumAddress(hexAddress);
address = ethUtil.addHexPrefix(checksumAddress);
} }
addAddressToList(indexText, address, pubkey, privkey); addAddressToList(indexText, address, pubkey, privkey);
}, 50) }, 50)
+3 -1
View File
@@ -569,7 +569,9 @@
var privKeyBuffer = key.privKey.d.toBuffer(); var privKeyBuffer = key.privKey.d.toBuffer();
privkey = privKeyBuffer.toString('hex'); privkey = privKeyBuffer.toString('hex');
var addressBuffer = ethUtil.privateToAddress(privKeyBuffer); var addressBuffer = ethUtil.privateToAddress(privKeyBuffer);
address = "0x" + addressBuffer.toString('hex'); var hexAddress = addressBuffer.toString('hex');
var checksumAddress = ethUtil.toChecksumAddress(hexAddress);
address = ethUtil.addHexPrefix(checksumAddress);
} }
addAddressToList(indexText, address, pubkey, privkey); addAddressToList(indexText, address, pubkey, privkey);
}, 50) }, 50)
+2 -2
View File
@@ -624,12 +624,12 @@ page.open(url, function(status) {
// check the address is generated correctly // check the address is generated correctly
// this value comes from // this value comes from
// https://www.myetherwallet.com/#view-wallet-info // https://www.myetherwallet.com/#view-wallet-info
// I do not understand the capitalization scheme for this hex encoding // Unusual capitalization is due to checksum
var expected = "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772"; var expected = "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772";
var actual = page.evaluate(function() { var actual = page.evaluate(function() {
return $(".address:first").text(); return $(".address:first").text();
}); });
if (actual != expected.toLowerCase()) { if (actual != expected) {
console.log("Ethereum address is incorrect"); console.log("Ethereum address is incorrect");
console.log("Expected: " + expected); console.log("Expected: " + expected);
console.log("Actual: " + actual); console.log("Actual: " + actual);