Add Cosmos Hub (ATOM) support

Closes #452, thanks @conr2d
This commit is contained in:
Ian Coleman
2021-02-11 02:13:23 +00:00
parent f7f579f5f5
commit d9ad938b52
6 changed files with 42 additions and 0 deletions
+1
View File
@@ -1101,6 +1101,7 @@
<script src="js/ripple-util.js"></script>
<script src="js/jingtum-util.js"></script>
<script src="js/casinocoin-util.js"></script>
<script src="js/cosmos-util.js"></script>
<script src="js/eos-util.js"></script>
<script src="js/fio-util.js"></script>
<script src="js/sjcl-bip39.js"></script>
+13
View File
@@ -0,0 +1,13 @@
function CosmosBufferToPublic(pubBuf) {
const Buffer = libs.buffer.Buffer;
const AminoSecp256k1PubkeyPrefix = Buffer.from("EB5AE987", "hex");
const AminoSecp256k1PubkeyLength = Buffer.from("21", "hex");
pubBuf = Buffer.concat([AminoSecp256k1PubkeyPrefix, AminoSecp256k1PubkeyLength, pubBuf]);
return libs.bech32.encode("cosmospub", libs.bech32.toWords(pubBuf));
}
function CosmosBufferToAddress(pubBuf) {
const sha256_ed = libs.createHash("sha256").update(pubBuf).digest();
const ripemd160_ed = libs.createHash("rmd160").update(sha256_ed).digest();
return libs.bech32.encode("cosmos", libs.bech32.toWords(ripemd160_ed));
}
+13
View File
@@ -1419,6 +1419,12 @@
privkey = FIObufferToPrivate(keyPair.d.toBuffer(32));
}
if (networks[DOM.network.val()].name == "ATOM - Cosmos Hub") {
address = CosmosBufferToAddress(keyPair.getPublicKeyBuffer());
pubkey = CosmosBufferToPublic(keyPair.getPublicKeyBuffer());
privkey = keyPair.d.toBuffer().toString("base64");
}
//Groestlcoin Addresses are different
if(isGRS()) {
@@ -2234,6 +2240,13 @@
setHdCoin(357);
},
},
{
name: "ATOM - Cosmos Hub",
onSelect: function() {
network = libs.bitcoin.networks.bitcoin;
setHdCoin(118);
},
},
{
name: "AUR - Auroracoin",
onSelect: function() {