]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blob - src/js/cosmos-util.js
Add Cosmos Hub (ATOM) support
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / js / cosmos-util.js
1 function CosmosBufferToPublic(pubBuf) {
2 const Buffer = libs.buffer.Buffer;
3 const AminoSecp256k1PubkeyPrefix = Buffer.from("EB5AE987", "hex");
4 const AminoSecp256k1PubkeyLength = Buffer.from("21", "hex");
5 pubBuf = Buffer.concat([AminoSecp256k1PubkeyPrefix, AminoSecp256k1PubkeyLength, pubBuf]);
6 return libs.bech32.encode("cosmospub", libs.bech32.toWords(pubBuf));
7 }
8
9 function CosmosBufferToAddress(pubBuf) {
10 const sha256_ed = libs.createHash("sha256").update(pubBuf).digest();
11 const ripemd160_ed = libs.createHash("rmd160").update(sha256_ed).digest();
12 return libs.bech32.encode("cosmos", libs.bech32.toWords(ripemd160_ed));
13 }